我做了半天也做不出来
请大家指教指教!
#include <iostream>
using namespace std;
int n;
int main()
{
cin>>n;
int red=0;
for(int i=n;i>1;i-=4)//把是红色的算出来
red+=(i-1)*4;
if(n%2==1&&(n/2)%2==0)//n%==2:判断层数奇偶性,(n/2)%2==0:
red+=1;
cout<<"R"<<red<<" Y"<<n*n-red;
return 0;
}
首先判断n是奇数还是偶数
然后判断位置看它是输出红还是黄(可以用二维数组判断)
/*
11111
12221
12121
12221
11111
5 2 3 2 5
1111111
1222221
1211121
1212121
1211121
1222221
1111111
7 2 5 4 5 2 7
111111111
122222221
121111121
121222121
121212121
121222121
121111121
122222221
111111111
9 2 7 4 5 4 7 2 9
11111111111//////////////11
12222222221//////////////2
12111111121//////////////9
12122222121//////////////4
12121112121//////////////7
12121212121//////////////6
12121112121//////////////7
12122222121//////////////4
12111111121//////////////9
12222222221//////////////2
11111111111//////////////11
*/
这是我目前的↑
n是5的时候
一的频率
n 2 n-2 2 n
请教!
思路:
建议参考楼上举的例子找规律