记录编号 |
37470 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[USACO Dec11] 逃离农场 |
最终得分 |
100 |
用户昵称 |
Makazeu |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
2.600 s |
提交时间 |
2012-03-30 10:49:48 |
内存使用 |
0.27 MiB |
显示代码纯文本
/*
ID:yeefan
LANG:C++
PROB:escape
website:http://yeefan.tk/
*/
#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
int N;
int W[21];
int A=0;
int Q[21];
int Best=0;
void init()
{
scanf("%d\n",&N);
for (int i=1;i<=N;i++)
scanf("%d\n",&W[i]);
return;
}
void check()
{
int T[11];
memset(T,0,sizeof(T));
for(int i=1;i<=A;i++)
{
int K=1;
int tmp=W[Q[i]];
while(tmp!=0)
{
T[K]+=tmp%10;
tmp/=10;
K++;
}
}
for(int i=1;i<=10;i++)
{
if(T[i]>=10)
return;
}
if(A>Best)
Best=A;
}
void dfs(int num)
{
if(num==N+1)
{
check();
return;
}
Q[++A]=num;
dfs(num+1);
A--;
dfs(num+1);
}
int main()
{
freopen("cowescape.in","r",stdin);
freopen("cowescape.out","w",stdout);
init();
dfs(1);
printf("%d\n",Best);
//printf("%d\n",clock());
return 0;
}