zoukankan      html  css  js  c++  java
  • 紫书 例题8-2 UVa 11605(构造法)

    这道题方法非常的巧妙, 两层的n*n, 第一层第I行全是第I个国家, 第二层的第j列全是第j个国家。这样能符合题目的条件。比如说第1个国家, 在第一层的第一行全是A, 然后在第二层的第一行就有ABCDE……这样A就和所有的国家都连接了,其他国家也是一样的。只能说这种方法非常巧妙吧,答案讲出来很简单,但是不容易想到。
    #include<cstdio>
    #define REP(i, a, b) for(int i = (a); i < (b); i++)
    using namespace std;
    
    inline char val(int x)
    {
    	if(x + 'A' <= 'Z') return x + 'A';
    	else return x - 26 + 'a';
    }
    
    int main()
    {
    	int n, kase = 0;
    	while(~scanf("%d", &n))
    	{
    		if(kase) puts("");
    		kase = 1;
    		printf("2 %d %d
    ", n, n);
    		REP(i, 0, n)
    		{
    			REP(j, 0, n) putchar(val(i));
    			puts(""); 
    		} 
    		puts("");
    		REP(i, 0, n)
    		{
    			REP(j, 0, n) putchar(val(j));
    			puts(""); 
    		} 
    	}
    	return 0;	
    } 

  • 相关阅读:
    aarch64_p1
    aarch64_o2
    aarch64_o1
    aarch64_n3
    aarch64_n2
    aarch64_n1
    aarch64_m3
    aarch64_m2
    aarch64_m1
    aarch64_l3
  • 原文地址:https://www.cnblogs.com/sugewud/p/9819599.html
Copyright © 2011-2022 走看看