Row Major
Smiling & Weeping
----昨天,
别人在我身旁大声说出你的名字,
这对于我,
像从敞开的窗口扔进了一朵玫瑰花。
思路:不客气地说,这是一道令人费解的题目,要求构造一个字符串,按m*n的方格顺序相邻的字符不能有重复(ˇˍˇ) 想~。那我们不如这样想,既然能分成n*m的方格,那么一定能被n、m整除,所以一定不能在整除的位置上放相同的字符那就找到他的最小不能整除的数字,再构造字符串。(很赞)\(^o^)/~
题目链接:Problem - D - Codeforces
Talk is cheap , show me the code
1 #include<bits/stdc++.h> 2 using namespace std; 3 int t , n; 4 int main() 5 { 6 scanf("%d",&t); 7 while(t--) 8 { 9 scanf("%d",&n); 10 char str[n+10]; 11 int ind = 1; 12 while(n%ind == 0 && ind < n) ind++; 13 for(int i = 0; i < n; i++) 14 str[i] = 'a'+(i%ind); 15 str[n] = '\0'; 16 printf("%s\n",str); 17 } 18 return 0; 19 }
文章到此结束,我们下次再见