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;
}