A
#include<iostream> using namespace std; int main(){ int a,b; cin>>a>>b; cout<<a+b; return 0; }
B
#include<iostream> using namespace std; #define N 20 #define K 10 int a[N][K]; int main(){ int n; cin>>n; for(int i=0;i<n;i++) { int sum=0; cin>>a[i][0]; for(int j=1;j<=a[i][0];j++){ cin>>a[i][j]; sum+=a[i][j]-1; } sum++; cout<<sum<<endl; } return 0; }
C
#include<iostream> using namespace std; int main(){ double a[12]; double sum=0; for(int i=0;i<12;i++){ cin>>a[i]; sum+=a[i]; } sum/=12; cout<<"$"<<sum; return 0; }
D
#include<iostream> using namespace std; int main(){ int n; cin>>n; char a[5]; int x; int key; for(int j=0;j<n;j++){ for(int i=0;i<5;i++){ cin>>a[i]; if(a[i]==':'){ key=i; } if(key==1){ if(i==3){ break; } } } if(key==1){ x=a[0]-48; // cout<<x<<endl; if(a[2]!='0'||a[3]!='0'){ cout<<'0'<<endl; continue; } } else if(key==2){ x=(a[0]-48)*10+(a[1]-48); // cout<<x<<endl; if(a[3]!='0'||a[4]!='0'){ cout<<'0'<<endl; continue; } } x+=12; if(x>24){ x-=24; } cout<<x<<endl; } return 0; }
E
#include<iostream> #include<stdio.h> #include<stdlib.h> using namespace std; int main(){ char c[100]; int C=0; int J=0; char answer[100]; int length; gets(c); int i; for(i=0;i<100;i++){ if(c[i]>='A'&&c[i]<='Z'){ J=1; } else if(c[i]=='_'){ C=1; } else if(c[i]=='\0'){ break; } } length=i; for(int l=0;l<length-1;l++){ if(c[l]=='_'&&c[l+1]=='_'){ cout<<"Error!"; exit(0); } } if(c[0]>='A'&&c[0]<='Z'||c[0]>='0'&&c[0]<='9'){ cout<<"Error!"; exit(0); } if((C+J)==2||c[i-1]=='_'||c[0]=='_'){ cout<<"Error!"; } else if(C){ int k=0; for(int j=0;j<length;j++){ if(c[j]=='_'){ j++; answer[k]=c[j]-32; } else{ answer[k]=c[j]; } k++; } answer[k]='\0'; cout<<answer; } else if(J){ int k=0; for(int j=0;j<length;j++){ if(c[j]>='A'&&c[j]<='Z'){ answer[k]='_'; k++; answer[k]=c[j]+32; } else{ answer[k]=c[j]; } k++; } answer[k]='\0'; cout<<answer; } else if(J==0&&C==0){ cout<<c; } else{ cout<<"Error!"; } return 0; } }
F(神级代码)
#include <stdio.h> int main(){ printf("1\n2\n1\n2\n0\n0\n2\n1\n2\n3\n3\n2\n2\n3\n1\n1\n2\n2\n3\n1\n1\n25\n7\n4\n47\n50\n41\n0\n3\n2\n7\n4\n4\n5\n0\n6\n3\n2\n2\n1\n0\n4\n6\n6\n3\n0\n3\n9\n15\n10\n3\n16\n14\n11\n8\n13\n0\n6\n5\n33\n33\n33\n32\n31\n35\n33\n32\n28\n25\n32\n27\n30\n30\n31\n2\n2\n4\n4\n4\n3\n3\n4\n4\n3\n5\n0\n5\n3\n0\n17\n14\n15\n16\n14\n14\n14\n17\n15\n14\n15\n14\n15\n14\n14\n11\n14\n13\n11\n13\n18\n6\n16\n6\n24\n14\n14\n14\n14\n14\n14\n14\n14\n14\n14\n14\n14\n14\n14\n14\n"); }
G
#include<iostream> #include<string> #include<sstream> using namespace std; int main(){ string a; string c; while(cin>>c){ getline(cin,a); cout<<c<<a<<endl; } return 0; }
H
#include<math.h> #include<stdio.h> #include<cstring> #include<iostream> using namespace std; const int maxn=100010; const int inf=5000000; int w[maxn],wa[maxn],wb[maxn],wv[maxn]; int sa[maxn],rank[maxn],height[maxn]; int a[maxn],f[maxn][20],n,ft[maxn],len[maxn]; int num; char s[maxn]; int cmp(int *r,int a,int b,int l) { return r[a]==r[b]&&r[a+l]==r[b+l]; } void da(int *r,int *sa,int n,int m) { int i,j,p,*x=wa,*y=wb,*t; for (i=0; i<m; i++) w[i]=0; for (i=0; i<n; i++) w[x[i]=r[i]]++; for (i=1; i<m; i++) w[i]+=w[i-1]; for (i=n-1; i>=0; i--) sa[--w[x[i]]]=i; for (p=1,j=1; p<n; m=p,j*=2) { for (p=0,i=n-j; i<n; i++) y[p++]=i; for (i=0; i<n; i++) if (sa[i]>=j) y[p++]=sa[i]-j; for (i=0; i<m; i++) w[i]=0; for (i=0; i<n; i++) w[wv[i]=x[y[i]]]++; for (i=1; i<m; i++) w[i]+=w[i-1]; for (i=n-1; i>=0; i--) sa[--w[wv[i]]]=y[i]; for (t=x,x=y,y=t,x[sa[0]]=0,p=1,i=1; i<n; i++) x[sa[i]]=cmp(y,sa[i-1],sa[i],j)?p-1:p++; } return; } void cal(int *r,int *sa,int n) { int i,j,k=0; for (i=1; i<=n; i++) rank[sa[i]]=i; for (i=0; i<n; height[rank[i++]]=k) for (k?k--:0,j=sa[rank[i]-1]; r[i+k]==r[j+k]; k++); return; } int nmin(int a,int b) { return a<b?a:b; } void rmq(int n) { int i,j; for (i=1; i<=n; i++) f[i][0]=height[i]; for (j=1; j<20; j++) for (i=1; i+(1<<j)-1<=n; i++) f[i][j]=nmin(f[i][j-1],f[i+(1<<j-1)][j-1]); return; } int lcp(int a,int b) { int x=rank[a],y=rank[b]; if (x>y) { int t=x; x=y; y=t; } x++; int t=ft[y-x+1]; return nmin(f[x][t],f[y-(1<<t)+1][t]); } int main() { int cas=1; int i; char x; for (i=0; i<maxn; i++) ft[i]=int(double(log(i*1.00))/log(2.00)); while (scanf("%s",s)!=EOF) { if(s[0]=='#') break; n=strlen(s); for (i=0; i<n; i++) a[i]=(int)s[i]; a[n]=0; da(a,sa,n+1,128); cal(a,sa,n); rmq(n); int k,max=0,r=0,t; num=0; for(int l=1; l<n; l++)//枚举长度 for(int i=0; i+l<n; i+=l) { k=lcp(i,i+l); r=k/l+1;//注意为什么是k/l+1 t=i-(l-k%l); if (t>=0&&k%l!=0) if (lcp(t,t+l)>=k) r++; if (r>max) { num=0; len[++num]=l; max=r; } else if(r==max) { len[++num]=l; } //printf("l=%d r=%d i=%d i+l=%d/n",l,r,i,i+l); } // printf("%d/n",max); int start,l; for(int i=1;i<n;++i)//sa应从1开始,因为sa[0]是0 { int ts=sa[i];//枚举这个开始 for(int j=1;j<=num;++j) { int tl=len[j]; if(lcp(ts,ts+tl)>=(max-1)*tl) { start=ts; l=tl*max; i=n; break; } } } printf("Case %d: ", cas++); for (int i = 0; i < l; i++) printf("%c", s[start+ i]); cout<<endl; } return 0; }
I
#include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<cassert> #include<string> #include<algorithm> #include<fstream> #include<sstream> #include<set> #include<map> #include<vector> #include<queue> #include<deque> #include<complex> #include<numeric> using namespace std; double x[10], y[10], t[10]; bool solve(int i, int j, int k) { double x1, y1, x2, y2, t1, t2; x1 = x[j] -x[i]; x2 = x[k] -x[i]; y1 = y[j] -y[i]; y2 = y[k] -y[i]; t1 = t[j] -t[i]; t2 = t[k] -t[i]; double A1 = x1*x1 + y1*y1 - t1*t1; double A2 = x2*x2 + y2*y2 - t2*t2; double A = A1*y2-A2*y1, B = A1*x2-A2*x1, C = A1 * t2 - A2 * t1; double cita = atan2(B, A); double sum = asin(- C/sqrt(A*A+B*B+1e-15)); double alpha = sum - cita; double r; if (abs(A1)>abs(A2)) r = A1/(t1 + x1 *cos(alpha) + y1 * sin(alpha))/2; else r = A2/(t2 + x2 *cos(alpha) + y2 * sin(alpha))/2; if (r<0) { sum = - sum + 3.141592653579; alpha = sum - cita; if (abs(A1)>abs(A2)) r = A1/(t1 + x1 *cos(alpha) + y1 * sin(alpha))/2; else r = A2/(t2 + x2 *cos(alpha) + y2 * sin(alpha))/2; } printf("%.6f %.6f\n", r * cos(alpha) + x[i], r * sin(alpha) + y[i]); } int main() { for (int dd = 1; ; ++ dd) { double c; scanf("%lf", & c); c/=1000; if (abs(c) < 1e-6) break; scanf("%lf %lf %lf %lf %lf %lf", x, y, x+1, y+1, x+2, y+2); scanf("%lf %lf %lf", t, t+1, t+2); printf("Case %d:\n", dd); t[0] *= c; t[1] *= c; t[2] *= c; if (solve(0, 1, 2)) continue; } return 0; }
J
#include<stdio.h> int main(){ int n,m; scanf("%d %d",&n,&m); int a[m][2]; int min=9999; int sum; int x; for(int i=0;i<m;i++){ sum=0; scanf("%d %d",&a[i][0],&a[i][1]); x=a[i][1]*n/(a[i][0]+a[i][1]); sum=(a[i][0]*(x+1)-a[i][1]*(n-x-1)); if(sum<min) min=sum; } printf("%d",min); return 0; }