思路就是标题,代码上传格式比较奇怪,随便看看
参考代码:
#include <bits/stdc++.h>
using namespace std;
const int N=20;
int T,n,ans;
int a[N],b[N],c[N],st[N];
bool d[N];
void dfs(int x,int y,int z)
{
if(z==1)
{
d[x]=1;
}
if(z==n)
{
if(a[x]+b[x]>=y)
{
ans=1;
}
return ;
}
if((a[x]+b[x])<y)
{
return ;
}else if(a[x]<=y&&(a[x]+b[x])>=y)
{
for(int i=1;i<=n;i++)
{
if(d[i]!=1)
{
d[i]=1;
// st[z]=x;
dfs(i,y+c[x],z+1);
// st[z]=0;
d[i]=0;
}
}
}else if(a[x]>y)
{
for(int i=1;i<=n;i++)
{
if(d[i]!=1)
{
d[i]=1;
// st[z]=x;
dfs(i,a[x]+c[x],z+1);
// st[z]=0;
d[i]=0;
}
}
}
if(z==1)
{
d[x]=0;
}
}
int main()
{
cin>>T;
for(int i=0;i<T;i++)
{
ans=0;
cin>>n;
int x=1000000;
for(int i=1;i<=n;i++)
{
cin>>a[i]>>b[i]>>c[i];
}
for(int i=1;i<=n;i++)
{
dfs(i,0,1);
}
if(ans==1)
{
cout<<"YES"<<'\n';
}else
{
cout<<"NO"<<'\n';
}
}
return 0;
}
0.0分
3 人评分
模拟计算器 (C语言代码)浏览:886 |
简单的a+b (C语言代码)浏览:537 |
A+B for Input-Output Practice (IV) (C++代码)浏览:677 |
Pascal三角 (C语言代码)浏览:1188 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:613 |
文科生的悲哀 (C语言代码)浏览:1400 |
有关字符,字符串的输入输出函数说明浏览:479 |
The 3n + 1 problem (C语言代码)浏览:505 |
勾股数 (C语言代码)浏览:799 |
简单的a+b (C语言代码)浏览:464 |