1
#include<stdio.h> int main(){ int n,sum=0,i,v=0,tmp; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&tmp); if(tmp>=v) v=tmp; else { sum+=v-tmp; } } printf("%d\n",sum); return 0; }2
#include<stdio.h> int main(){ int m,n,k; scanf("%d",&m); while(m--){ scanf("%d %d",&n,&k); int mark[n],i; for(i=0;i<n;i++) mark[i]=1; int sum=n-1,p=0,tmp=k; while(sum){ if(mark[p]==1){ p++; if(p>=n) p-=n; tmp--; } else{ p++; if(p>=n) p-=n; } if(tmp==0){ if(p-1>=0) mark[p-1]=0; else mark[p-1+n]=0; sum--; tmp=k; } } int ans; for(i=0;i<n;i++) if(mark[i]!=0) ans=i; char name[50]; for(i=0;i<n;i++){ scanf("%s",name); if(i==ans) printf("%s\n",name); } } return 0; }3
#include<stdio.h> int main(){ int x1=0,b1,b2; char input[100]; scanf("%s",input); scanf("%d",&b1); scanf("%d",&b2); int i,flag=0,no; for(i=0;input[i];i++){ if(input[i]>='0'&&input[i]<='9') no=input[i]-'0'; else if(input[i]>='A'&&input[i]<='F') no=input[i]-'A'+10; if(no>=b1) flag=1; x1*=b1; x1+=no; } char ans[100]; int n=0; while(x1){ if(x1%b2>=10) ans[n]=x1%b2-10+'A'; else ans[n]=x1%b2+'0'; n++; x1/=b2; } for(i=n-1;i>=0;i--) printf("%c",ans[i]); puts(""); return 0; }4
#include<stdio.h> int main(){ int n; scanf("%d",&n); int top=1; while(n-->1) top*=10; int i; for(i=1;i<top;i++){ int t=i,sum=0,p=1; while(t){ int tmp=t%10; t/=10; sum+=tmp; p*=tmp; } if(sum==p) printf("%d\n",i); } puts(""); return 0; }5
#include<stdio.h> #include<math.h> double dist (double x,double y,double a,double b){ return sqrt((x-a)*(x-a)+(y-b)*(y-b)); } int main(){ int n; int x[100],y[100]; scanf("%d",&n); int i,j; double min=1e9; for(i=0;i<n;i++) scanf("%d %d",&x[i],&y[i]); for(i=0;i<n;i++) for(j=i+1;j<n;j++){ //printf("(%d,%d)-(%d,%d) %f\n",x[i],y[i],x[j],y[j],dist(x[i],y[i],x[j],y[j])); if(dist(x[i],y[i],x[j],y[j])<=min&&i!=j) min=dist(x[i],y[i],x[j],y[j]); } printf("%.4f\n",min); return 0; }
沒有留言:
張貼留言