markdown 在线制作ppt json校验和格式化工具

POJ 2362

 1 #include <iostream>
 2 #define MAXN 30
 3 using namespace std;
 4 
 5 int _m[MAXN];
 6 
 7 bool mark[MAXN];
 8 
 9 bool boo;
10 
11 int st;
12 
13 int num;
14 void DFS(int time,int sum,int k);
15 int main()
16 {
17     //freopen("acm.acm","r",stdin);
18     int test;
19     int ave;
20     int i;
21     int sum;
22     cin>>test;
23     while(test --)
24     {
25         cin>>num;
26         sum = 0;
27         boo = false;
28         memset(mark,false,sizeof(mark));
29         for(i = 0; i < num; ++ i)
30         {
31             cin>>_m[i];
32             sum += _m[i];
33         }
34         
35         if(sum % 4 != 0)
36         {
37             cout<<"no"<<endl;
38             continue;
39         }
40         else
41         {
42             st = sum/4;
43         }
44         
45         DFS(0,0,0);
46 
47         if(boo)
48         {
49             cout<<"yes"<<endl;
50         }
51         else
52         {
53             cout<<"no"<<endl;
54         }
55 
56     }
57 
58 }
59 
60 void DFS(int time,int sum,int k)
61 {
62     if(time == num)
63     {
64         return;
65     }
66     if(sum > st)
67     {
68         return;
69     }
70     if(sum == st)
71     {
72         if(k + 1 == 3)
73         {
74             boo = true;
75             return;
76         }
77         else
78         {
79             DFS(0,0,k+1);
80         }
81 
82         return;
83     }
84     if(!mark[time])
85     {
86         mark[time] = true;
87         DFS(time+1,sum + _m[time],k);
88         if(boo)
89         {
90             return;
91         }
92         mark[time] = false;
93     }
94     DFS(time + 1,sum,k);
95 }

 

posted @ 2015-06-11 10:49  GavinHacker  阅读(139)  评论(0编辑  收藏  举报
markdown 在线制作ppt json校验和格式化工具