码迷,mamicode.com
首页 > 其他好文 > 详细

POJ1166

时间:2015-06-06 13:29:54      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:

额做了一个晚上和一个上午的题目……

看到马上想去BFS,于是发现诶要不用STL吧,上手竟然vector,简直nc,于是换queue,但是BFS始终写不好,很好奇到底怎么记录路径的,至今还是解决不了这个问题。于是放弃了STL,还是手打一个队列好了,不过还是过不了。

这里面有个大问题,我在运行的过程中会RTE,一直不知道什么问题,然后开始了恶心的输出中间结果调试,最后发现了大问题!在函数中申请了大数组,直接爆栈!其实以前也遇到过这个问题,竟然没有注意到!所以这种问题还是只能全局或者vector……

我还要去补STL,唉唉唉……

这道题嘛……其实暴力就解决了……来来来总结一下,深搜构造组合状态,然后判断,over,利用常量表解决这类问题啊。

按照这节奏,我估计是没救了,太慢了……而且我觉得C++的调试简直没救了……我去学学gdb好了不知道怎么样。

 1 /*********************************
 2     Problem   POJ 1166
 3     Status    Accepted
 4     Memory    692K
 5     Time      266MS
 6     Date      2015-06-06
 7     By JimmyLin    
 8 *********************************/    
 9 #include<iostream>
10 #include<cstdio>
11 #include<cstring>
12 
13 using namespace std;
14 const int maxn=9,INF=1e8+10;
15 const char move[9][10]={"ABDE","ABC","BCEF","ADG","BDEFH","CFI","DEGH","GHI","EFHI"};
16 int a[maxn];
17 int b[maxn];
18 int ans[maxn],ans_total=INF;
19 bool check()
20 {    
21     /*for(int i=0;i<9;i++)cout<<a[i]<<‘ ‘;
22     cout<<endl;
23     */
24     int c[maxn];
25     for(int i=0;i<maxn;i++)c[i]=b[i];
26     for(int i=0;i<9;i++){
27         for(int j=0;move[i][j];j++){
28             int cn=move[i][j]-A;
29             c[cn]=(c[cn]+a[i])%4;
30         }
31     }
32     for(int i=0;i<9;i++)if(c[i])return false;
33     return true;
34 }
35 void instead()
36 {
37     int tot=0;
38     for(int i=0;i<9;i++)tot+=a[i];
39     if(tot<ans_total){
40         ans_total=tot;
41         for(int i=0;i<9;i++)ans[i]=a[i];
42     }
43 }
44 void print_ans()
45 {
46     for(int i=0;i<9;i++)
47         for(int j=1;j<=ans[i];j++)cout<<i+1<< ;
48 }
49 void solve(int x)
50 {
51     if(x==9){
52         if(check())instead();
53         return;
54     }
55     for(int i=0;i<4;i++){
56         a[x]=i;
57         solve(x+1);
58     }
59 }
60 int main()
61 {
62     for(int i=0;i<9;i++)cin>>b[i];
63     solve(0);
64     print_ans();
65     return 0;
66 }

 

POJ1166

标签:

原文地址:http://www.cnblogs.com/happyJimmyLin/p/4556459.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!