比赛 |
20150423 |
评测结果 |
C |
题目名称 |
守卫标志物 |
最终得分 |
0 |
用户昵称 |
Satoshi |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2015-04-23 11:21:35 |
显示代码纯文本
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream in("guardc.in");
ofstream out("guardc.out");
int n;
int He=0;
int f[21]={0};
int best=0;
class node
{
public:
int G;
int H;
int F;
}cow[21];
bool com(node a,node b)
{
//out<<a.F<<' '<<b.F<<endl;
if(a.F>b.F)return 1;
if(a.F==b.F)
{
if(a.H<b.H)return 1;
if(a.H==b.H)
{
if(a.G>b.G)return 1;
}
}
return 0;
}
void check(int h)
{
int i,j;
vector<int> q;
for(i=1;i<=n;i++)
}
int dfs(int data,int sum,int h)
{
int i;
if(h>=He)
{
check(h);
return 0;
}
if(sum==n)return 0;
for(i=1;i<=n;i++)
{
f[data]=i;
sum++;
dfs(data+1,sum+1,h+cow[data].H);
f[data]=0;
sum--;
dfs(data+1,sum,h);
}
}
int main()
{
int i,j;
in>>n;
in>>He;
for(i=1;i<=n;i++)in>>cow[i].G>>cow[i].H>>cow[i].F;
sort(cow+1,cow+n+1,com);
for(i=1;i<=n;i++)out<<cow[i].G<<' '<<cow[i].H<<' '<<cow[i].F<<endl;
dfs(1,0,0);
return 0;
}