POJ 1166 暴力搜索 即 枚举

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;
        }
    }
}

原文地址:https://www.cnblogs.com/icode-girl/p/4600888.html