分析:按照刘汝佳的思路写的,一共有俩层,每层n行n列,第一层每行相同,第二层每列相同。
举例说明:下面是4个国家 、5个国家的情况。
自己敲的:
#include<cstdio>
#include<iostream>
using namespace std;
int main(){
int n;
while(cin >> n){
printf("2 %d %d\n",n,n);
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(i<26) printf("%c",'a'+i);
else printf("%c",'A'+i-26);
}
printf("\n");
}
cout << endl;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(j<26) printf("%c",'a'+j);
else printf("%c",'A'+j-26);
}
printf("\n");
}
}
}
汝佳提供的代码:
// UVa1605 Building for UN
// Rujia Liu
#include<cstdio>
using namespace std;
char country(int i) {
if(i < 26) return 'A' + i;
return 'a' + i - 26;
}
int main() {
int n;
while(scanf("%d", &n) == 1) {
printf("2 %d %d\n", n, n);
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) printf("%c", country(i));
printf("\n");
}
printf("\n");
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) printf("%c", country(j));
printf("\n");
}
}
return 0;
}