USACO1.1問題解決セット

27201 ワード

beads
/*
ID:hh826532
PROB:beads
LANG:C++
*/
#define _FILE_ "beads"
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define fr(i,a,b) for(int i=a,_end_=b;i<=_end_;i++)
#define fd(i,a,b) for(int i=a,_end_=b;i>=_end_;i--)
#define frei(s) freopen(s,"r",stdin)
#define freo(s) freopen(s,"w",stdout)
#define ll long long
#define u unsigned
using namespace std;
#define rt return
#define inf 0x3f3f3f3f
#define pc(x) putchar(x)
#define spc putchar(' ')
#define gc getchar()
#define ln pc('
')
#define writeint(x) printf("%d",x) #define lowbit(x) (x&(-x)) int readuint(){ int s=0; char c=getchar(); while(c<'0'||c>'9')c=gc; while(c>=48&&c<='9'){ s=s*10+c-48; c=gc; } rt s; } int readint(){ int s=0,k=1; char c=getchar(); while((c<'0'||c>'9')&&c!='-')c=gc; if(c=='-'){ k=-1; c=gc; } while(c>=48&&c<='9'){ s=s*10+c-48; c=gc; } rt s*k; } void OPENFILE(){ char FILENAME[50]; if(strlen(_FILE_)==0)rt; sprintf(FILENAME,"%s.in",_FILE_); frei(FILENAME); sprintf(FILENAME,"%s.out",_FILE_); freo(FILENAME); } int len,ans,d,dc,a[100010],o; char c; int main(){ OPENFILE(); scanf("%d
"
,&len); fr(i,1,len) { c=gc; if(c=='b')a[i]=1; if(c=='r')a[i]=2; } fr(i,1,len-1) { ans=0; d=i; dc=a[i]; while(dc==0||a[d]==dc||a[d]==0) { d--; ans++; if(!d)d+=len; if(dc==0)dc=a[d]; if(d==i+1)break; } d=i+1; dc=a[d]; while(dc==0||a[d]==dc||a[d]==0) { d++; ans++; if(d==len+1)d-=len; if(dc==0)dc=a[d]; if(d==i)break; } ans=min(ans,len); o=max(o,ans); } printf("%d
"
,o); rt 0; }

friday:
/*
ID:hh826532
PROB:friday
LANG:C++
*/
#define _FILE_ "friday"
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define fr(i,a,b) for(int i=a,_end_=b;i<=_end_;i++)
#define fd(i,a,b) for(int i=a,_end_=b;i>=_end_;i--)
#define frei(s) freopen(s,"r",stdin)
#define freo(s) freopen(s,"w",stdout)
#define ll long long
#define u unsigned
using namespace std;
#define rt return
#define inf 0x3f3f3f3f
#define pc(x) putchar(x)
#define spc putchar(' ')
#define gc getchar()
#define ln pc('
')
#define writeint(x) printf("%d",x) #define lowbit(x) (x&(-x)) int readuint(){ int s=0; char c=getchar(); while(c<'0'||c>'9')c=gc; while(c>=48&&c<='9'){ s=s*10+c-48; c=gc; } rt s; } int readint(){ int s=0,k=1; char c=getchar(); while((c<'0'||c>'9')&&c!='-')c=gc; if(c=='-'){ k=-1; c=gc; } while(c>=48&&c<='9'){ s=s*10+c-48; c=gc; } rt s*k; } void OPENFILE(){ char FILENAME[50]; if(strlen(_FILE_)==0)rt; sprintf(FILENAME,"%s.in",_FILE_); frei(FILENAME); sprintf(FILENAME,"%s.out",_FILE_); freo(FILENAME); } int d[13]={0,31,0,31,30,31,30,31,31,30,31,30,31}; int n,k,f[10]; int main(){ OPENFILE(); n=readuint(); k=6; fr(i,1900,1899+n) fr(j,1,12) { f[k]++; if(j!=2) k+=d[j]; else if(i%400==0||((i%100!=0)&&(i%4==0))) k+=29; else k+=28; k=(k-1)%7+1; } fr(i,6,7) printf("%d ",f[i]); fr(i,1,4) printf("%d ",f[i]); printf("%d
"
,f[5]); rt 0; }

gift1:
/*
ID:hh826532
PROB:gift1
LANG:C++
*/
#define _FILE_ "gift1"
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define fr(i,a,b) for(int i=a,_end_=b;i<=_end_;i++)
#define fd(i,a,b) for(int i=a,_end_=b;i>=_end_;i--)
#define frei(s) freopen(s,"r",stdin)
#define freo(s) freopen(s,"w",stdout)
#define ll long long
#define u unsigned
using namespace std;
#define rt return
#define inf 0x3f3f3f3f
#define pc(x) putchar(x)
#define spc putchar(' ')
#define gc getchar()
#define ln pc('
')
#define writeint(x) printf("%d",x) #define lowbit(x) (x&(-x)) int readuint(){ int s=0; char c=getchar(); while(c<'0'||c>'9')c=gc; while(c>=48&&c<='9'){ s=s*10+c-48; c=gc; } rt s; } int readint(){ int s=0,k=1; char c=getchar(); while((c<'0'||c>'9')&&c!='-')c=gc; if(c=='-'){ k=-1; c=gc; } while(c>=48&&c<='9'){ s=s*10+c-48; c=gc; } rt s*k; } void OPENFILE(){ char FILENAME[50]; if(strlen(_FILE_)==0)rt; sprintf(FILENAME,"%s.in",_FILE_); frei(FILENAME); sprintf(FILENAME,"%s.out",_FILE_); freo(FILENAME); } map<int,string>st; map<string,int>val; string str; int n,v,t,e; int main(){ OPENFILE(); n=readuint(); fr(i,1,n) { cin>>str; st[i]=str; } fr(j,1,n) { cin>>str; v=readuint(); t=readuint(); if(v==0&&t==0)continue; e=v/t; val[str]-=e*t; fr(i,1,t) { cin>>str; val[str]+=e; } } fr(i,1,n) cout<' '<0; }

ride:
/*
ID:hh826532
PROB:ride
LANG:C++
*/
#define _FILE_ "ride"
#include
#include
#include
#include
#include
#include
#include
#define fr(i,a,b) for(int i=a,_end_=b;i<=_end_;i++)
#define fd(i,a,b) for(int i=a,_end_=b;i>=_end_;i--)
#define frei(s) freopen(s,"r",stdin)
#define freo(s) freopen(s,"w",stdout)
#define ll long long
#define u unsigned
using namespace std;
#define rt return
#define inf 0x3f3f3f3f
#define pc(x) putchar(x)
#define spc putchar(' ')
#define gc getchar()
#define ln pc('
')
#define writeint(x) printf("%d",x) #define lowbit(x) (x&(-x)) int readuint(){ int s=0; char c=getchar(); while(c<'0'||c>'9')c=gc; while(c>=48&&c<='9'){ s=s*10+c-48; c=gc; } rt s; } int readint(){ int s=0,k=1; char c=getchar(); while((c<'0'||c>'9')&&c!='-')c=gc; if(c=='-'){ k=-1; c=gc; } while(c>=48&&c<='9'){ s=s*10+c-48; c=gc; } rt s*k; } void OPENFILE(){ char FILENAME[50]; if(strlen(_FILE_)==0)rt; sprintf(FILENAME,"%s.in",_FILE_); frei(FILENAME); sprintf(FILENAME,"%s.out",_FILE_); freo(FILENAME); } char s1[10],s2[10]; int ans1=1,ans2=1; int main(){ OPENFILE(); scanf("%s%s",s1,s2); fr(i,0,strlen(s1)-1) ans1=ans1*(s1[i]-'A'+1)%47; fr(i,0,strlen(s2)-1) ans2=ans2*(s2[i]-'A'+1)%47; if(ans1==ans2) puts("GO"); else puts("STAY"); rt 0; }

test:
/*
ID:hh826532
PROB:test
LANG:C++
*/
#define _FILE_ "test"
#include
#include
#include
#include
#include
#include
#include
#define fr(i,a,b) for(int i=a,_end_=b;i<=_end_;i++)
#define fd(i,a,b) for(int i=a,_end_=b;i>=_end_;i--)
#define frei(s) freopen(s,"r",stdin)
#define freo(s) freopen(s,"w",stdout)
#define ll long long
#define u unsigned
using namespace std;
#define rt return
#define inf 0x3f3f3f3f
#define pc(x) putchar(x)
#define spc putchar(' ')
#define gc getchar()
#define ln pc('
')
#define writeint(x) printf("%d",x) #define lowbit(x) (x&(-x)) int readuint(){ int s=0; char c=getchar(); while(c<'0'||c>'9')c=gc; while(c>=48&&c<='9'){ s=s*10+c-48; c=gc; } rt s; } int readint(){ int s=0,k=1; char c=getchar(); while((c<'0'||c>'9')&&c!='-')c=gc; if(c=='-'){ k=-1; c=gc; } while(c>=48&&c<='9'){ s=s*10+c-48; c=gc; } rt s*k; } void OPENFILE(){ char FILENAME[50]; if(strlen(_FILE_)==0)rt; sprintf(FILENAME,"%s.in",_FILE_); frei(FILENAME); sprintf(FILENAME,"%s.out",_FILE_); freo(FILENAME); } int main(){ OPENFILE(); printf("%d
"
,readuint()+readuint()); rt 0; }