POJ 1166 暴力搜索 即 枚举
2015-06-25 20:35
417 查看
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;
}
}
}
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;
}
}
}
相关文章推荐
- [Codeforces Round #309 (Div. 2)] #ABC题解
- python中的__new__和__init__
- [LeetCode] Jump Game II
- Java 中的成员内部类(转载)
- 求算符文法的FIRSTVT集的算法
- Android 中 使用 Gson解析json
- pycharm的vim插件安装
- Android基础知识_Intent概念及实现
- C与C++代码互相访问
- Hibernate入门之配置文件
- Java命名规范
- lintcode:Continuous Subarray Sum
- SpringMVC将数据返回到页面
- ixgbe 82599 固定源与目标, UDP, 64字节小包, 1488w pps 单核CPU软中断sirq 100%
- shuffle和排序
- 为HT公司搭建一台 web 服务器
- 微软100题第46题:四对括号可以有多少种匹配排列方式?
- 青蛙跳井的故事
- 剑指offer 41 - 和为s的两个数字VS为s的连续正数序列
- Android项目目录结构分析