其他分享
首页 > 其他分享> > UVA1605 联合国大楼 Building for UN题解

UVA1605 联合国大楼 Building for UN题解

作者:互联网

0x01.题目描述

0x02.思路:

其实感觉这道题就是道大水题,看完题目就应该会很简单的想到可以想到1种方法:

第一层:

每一行同样的国家(字母),每一列不同的国家(字母)

第二层:

每一行不同的国家(字母),每一列不同的国家(字母)

还要注意的是数据范围n<=50,所以我们就要用大写和小写字母来描述。

PS:但是最开始也只想到这种方法,但是没有样例,我还以为要输出所有的状况(可能会有奇奇怪怪的),害我绞尽脑汁想了很久,然后翻了下紫书发现只用输出这种方法

关键函数:即输出字母

char function(int x) {
	if (x < 26)
		return 'A' + x;//先输出大写
	return 'a' + x - 26;//大写不够了输出小写
}

0x03:代码:

#include <bits/stdc++.h>
using namespace std;

char O_O(int x) {
	if (x < 26)
		return 'A' + x;
	return 'a' + x - 26;
}//取了不怎么好看的函数名

int main() {
	int n;
	while (cin >> n) {
		cout << 2 << " " << n << " " << n << endl;

		for (int i = 1; i <= n; i++) {
			for (int j = 1; j <= n; j++) {
				cout << O_O(i - 1);
			}
			puts("");
		}
		cout << endl;
		for (int j = 1; j <= n; j++) {
			for (int i = 1; i <= n; i++) {
				cout << O_O(i - 1);
			}
			puts("");
		}

	}
	return 0;
}

0x04.End:

AC记录

0x05.题外话:

总感觉紫书上面的题很多都没什么人做,题解也很少(可能也只是我不知道),但是上面的题还是很好的,希望大家多做一些吧(虽然UVA稳定性好差)

标签:Building,UVA1605,26,return,输出,int,题解,字母,每一
来源: https://www.cnblogs.com/didutaoqiangqiang/p/15414887.html