A水题,,,求n*m的矩形需要几块a*a才能覆盖完.水题。
注意要用long long
int main(){ LL n,m,a; while(~scanf("%I64d%I64d%I64d",&n,&m,&a)){ LL num1=0; num1=n/a; if(n%a!=0) num1++; LL num2=0; num2=m/a; if(m%a!=0) num2++; printf("%I64d\n",num1*num2); } return 0; }
B 题恶心的字符串
这个 ,,,,呜呜呜呜,,,中间一次他拒绝了我好几次,我就贴了下别人的代码看看有没有问题...最后终于130ms过了.
int main(){ int n; char A[105],B[105],C[105],D[105]; int num,num1; while(~scanf("%d",&n)){ while(n--){ scanf("%s",A); int i=0; num=0; num1=0; bool flag=false; int len=strlen(A); if(A[0]=='R') flag=true; if(flag){ for(i=2;i<len;i++){ if(A[i]=='C'&&(A[i-1]<='9'&&A[i-1]>='0')) break; } if(i==len) flag=false; } if(flag){ i=1; while(A[i]>='0'&&A[i]<='9'){ num=num*10+A[i]-'0'; i++; } num1=0; i++; while(A[i]>='0'&&A[i]<='9'){ num1=num1*10+A[i]-'0'; i++; } i=0; int temp=num1; int m=0; while(temp){ //printf("m:%d\n"); C[i]=temp%26+'A'-1-m; if(m==1&&temp==1) break; m=0; //printf("C:%c\n",C[i]); if(C[i]<'A'){ C[i]='Z'+C[i]-'@'; m=1; } // printf("%d %d %c %d\n",i,temp%26,C[i],m); i++; temp/=26; } C[i]='\0'; for(int j=i-1;j>=0;j--){ if(C[j]>='A'&&C[j]<='Z') printf("%c",C[j]); } printf("%d\n",num); } else { int i=0; num=0; while(A[i]>='A'&&A[i]<='Z'){ num=num*26+(A[i]-'A'+1); i++; } int num1=0; while(A[i]>='0'&&A[i]<='9'){ num1=num1*10+A[i]-'0'; i++; } printf("R%dC%d\n",num1,num); } } } return 0; }