e.... 米还是没有读懂题....T_T .....
e.... 这就是传说中的暴力吗。。。。太血腥了。。。。太暴力了。。。九重for循环。。。。就这么赤裸裸的AC了。。。。
水是水了点。。但是。。我也没想到可以这样解。。因为每种操作最多只能进行三次 不然就是重复了。。所以、、、附代码:
#include<stdio.h>
#include<iostream>
#include<string.h>
#define FOR(x) for (x=0; x<=3; ++x)
using namespace std;
int main()
{
int a[10], b[10], c[10];
for (int i=0; i<9; ++i)
cin >> a[i];
FOR(b[0])
FOR(b[1])
FOR(b[2])
FOR(b[3])
FOR(b[4])
FOR(b[5])
FOR(b[6])
FOR(b[7])
FOR(b[8])
{
c[0] = (a[0] + b[0] + b[1] + b[3]) % 4;
c[1] = (a[1] + b[0] + b[1] + b[2] + b[4]) % 4;
c[2] = (a[2] + b[1] + b[2] + b[5]) % 4;
c[3] = (a[3] + b[0] + b[3] + b[4] + b[6]) % 4;
c[4] = (a[4] + b[0] + b[2] + b[4] + b[6] + b[8]) % 4;
c[5] = (a[5] + b[2] + b[4] + b[5] + b[8]) % 4;
c[6] = (a[6] + b[3] + b[6] + b[7]) % 4;
c[7] = (a[7] + b[4] + b[6] + b[7] + b[8]) % 4;
c[8] = (a[8] + b[5] + b[7] + b[8]) % 4;
if (c[0] + c[1] +c[2] + c[3] + c[4] + c[5] + c[6] + c[7] + c[8] == 0)
{
while(b[0]--) cout << "1 ";
while(b[1]--) cout << "2 ";
while(b[2]--) cout << "3 ";
while(b[3]--) cout << "4 ";
while(b[4]--) cout << "5 ";
while(b[5]--) cout << "6 ";
while(b[6]--) cout << "7 ";
while(b[7]--) cout << "8 ";
while(b[8]--) cout << "9 ";
cout << endl;
return 0;
}
}
}