题号1005 #include<stdio.h> #include<math.h> int main() { int a,n[1000],i; float x[1000]; float y[1000]; double r,s; scanf("%d/n",&a); for(i=0;i<a;i++) scanf("%f%f/n",&x[i],&y[i]); for(i=0;i<a;i++) { r=x[i]*x[i]+y[i]*y[i]; s=3.1415926*r/2; n[i]=(int)ceil(s/50); printf("Property %d: This property will begin eroding in year %d./n",i+1,n[i]); } printf("END OF OUTPUT./n"); return 0; } 题号1007 #include<stdio.h> #include<algorithm> struct DNA { char c[500]; int count; }; bool cmp(DNA s1,DNA s2) { return s1.count<s2.count; } int main() { DNA s[500]; int i,j,k,n,m; scanf("%d%d/n",&n,&m); //n->length,m->number for(i=0;i<m;i++) scanf("%s",s[i].c); for(i=0;i<m;i++) { for(j=0,s[i].count=0;j<n-1;j++) for(k=j+1;k<n;k++) { if(s[i].c[j]>s[i].c[k]) s[i].count++; } } std::sort(s,s+m,cmp); for(i=0;i<m;i++) { printf("%s/n",s[i].c); } return 0; } 题号1046(wrong answer) #include<stdio.h> #include<math.h> struct zb { int x; int y; int z; }; int length(zb a,zb b) { int x=(a.x-b.x)*(a.x-b.x); int y=(a.y-b.y)*(a.y-b.y); int z=(a.z-b.z)*(a.z-b.z); int sum=x+y+z; return sum; } int main() { int i,k; zb s[1000],l; for(i=0;;i++) { scanf("%d %d %d/n",&s[i].x,&s[i].y,&s[i].z); if(s[i].x==-1) break; } l=s[0]; for(i=16;s[i].x!=-1;i++) { for(k=1;k<16;k++) { if(length(s[i],l)>length(s[i],s[k])) l=s[k]; } printf("(%d,%d,%d) maps to (%d,%d,%d)/n",s[i].x,s[i].y,s[i].z,l.x,l.y,l.z); } return 0; } 题号1207(Output Limit Exceeded) #include<stdio.h> int main() { int i,count[10000],a,b,x,n; while(scanf("%d %d",&a,&b)) { for(i=a;i<=b;i++) { n=i; count[i]=1; while(n!=1) { if(n%2==1) { n=3*n+1; count[i]++; } else { n=n/2; count[i]++; } } } for(i=a;i<=b;i++) { if(count[i]>count[a]) { count[a]=count[i]; x=i; } } printf("%d %d %d",a,b,count[a]); } return 0; } 1207(AC) #include<iostream> using namespace std; int array[10008]={0}; int f(int n) { if(n%2==0) return f(n/2)+1; if(n%2!=0&&n>1) return f(3*n+1)+1; if(n==1) return 1; } int main() { int i,a,b,m,n; for(i=1;i<=10000;i++) array[i]=f(i); while(cin>>m>>n) { a=m<n?m:n; b=m>n?m:n; int max=0; for(i=a;i<=b;i++) if(array[i]>max) max=array[i]; cout<<m<<" "<<n<<" "<<max<<endl; } return 0; }