HDU 3412 杭州省赛 An Odd Award Rule
来源:互联网 发布:mac qq截屏 编辑:程序博客网 时间:2024/05/16 04:39
An Odd Award Rule
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 96 Accepted Submission(s): 44
15SIKE 12WORRY 20LUCENT 8KILI 3TOM 1
2SIKEWORRY
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
struct T
{
string name;
int s;
}t[200];
string stu[200];
bool flag;
int n;
bool cmp(T a,T b)
{
return a.s>b.s;
}
bool cmp2(string a,string b)
{
return a<b;
}
void dfs(int x,int sum,int step)
{
if(sum==0)
{
if(step==2||step==3) flag=true;
return;
}
if(step==3&&sum!=0) return;
if(sum<t[n-1].s) return;
if(x+1>=n) return;
for(int i=x+1;i<n;i++)
{
if(flag) return;
if(sum-t[i].s>=0&&step+1<=3) dfs(i,sum-t[i].s,step+1);
}
return;
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
for(int i=0;i<n;i++) cin>>t[i].name>>t[i].s;
sort(t,t+n,cmp);
int k=0;
for(int i=n-3;i>=0;i--)
{
flag=false;
dfs(i,t[i].s,0);
if(flag) stu[k]=t[i].name,k++;
}
sort(stu,stu+k,cmp2);
cout<<k<<endl;
for(int i=0;i<k;i++)
cout<<stu[i]<<endl;
}
return 0;
}
- HDU 3412 杭州省赛 An Odd Award Rule
- poj 3778 hdu 3412 An Odd Award Rule
- HDU 3412 & poj 3778 An Odd Award Rule
- HDOJ 3412 An Odd Award Rule
- POJ 3778 An Odd Award Rule简单暴力
- HDU 5942 (杭州赛)
- non-zero winding number rule and the even-odd rule
- Sicily 12986. An Odd Sum
- hdu 4414 2012杭州网络赛
- hdu 4417 2012杭州网络赛
- hdu 4419 2012杭州网络赛
- HDU 5898 odd-even number 沈阳网络赛
- HDU 2013 杭州网络赛 1007 & HDU 4744 Starloop System
- uva 11617 An Odd Love (dp)
- hdu 3650 杭州赛水题
- hdu 5898 odd-even number
- HDU 5898 - odd-even number
- hdu 4410 Boomerang (2012杭州网络赛1001)
- VC++控件之权限设置
- 回调函数
- VC++控件之IP地址设置
- Teradata BETQ登陆
- VC++之控件编辑框的应用
- HDU 3412 杭州省赛 An Odd Award Rule
- 7条大型网站设计和维护的关键技巧(转)
- linux 下asp.net WEB应用环境的搭建
- RouterOS 2.97
- JAVA学习
- asp中的rs.open于conn.execute的区别
- 数据库常用对象查询
- _T()的用法及意义
- _T()的用法及意义