【传送门:BZOJ1306


简要题意:

  有n个队伍,每个队伍都要和其他队伍比一场,赢了的队得3分,输了的队不得分,打平两队各得一分,给出每个队伍的得分,求出对战方案数


题解:

  DFS暴搜!!一眼就觉得暴搜,但是时限尴尬,加了些剪枝,10s压线,真的幸运

  剪枝:

  1.如果当前队伍所搜索到的结果得分大于它自己的得分就退出

  2.如果当前队伍全赢仍未搜索到的所有队伍都不能达到它自己的得分就退出

  就这样,靠着RP,压着时限,AC(感人)


参考代码:

#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;
int a[],b[],n,ans;
void dfs(int x,int y)
{
if(b[x]>a[x]) return ;
if(b[x]+(n-y+)*<a[x]) return ;
if(x==n)
{
ans++;
return ;
}
if(y==n)
{
int t=a[x]-b[x];
int dd=;
if(t==) return ;
if(t==) dd=;
if(t==) dd=;
if(t==) dd=;
b[y]+=dd;
dfs(x+,x+);
b[y]-=dd;
}
else
{
b[x]+=;dfs(x,y+);b[x]-=;
b[y]+=;dfs(x,y+);b[y]-=;
b[x]++;b[y]++;dfs(x,y+);b[x]--; b[y]--;
}
}
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%d",&a[i]);
dfs(,);
printf("%d\n",ans);
return ;
}

最新文章

  1. MVC默认路由实现分页-PagerExtend.dll
  2. 【codeforces 749E】 Inversions After Shuffle
  3. javascript 中this详解
  4. C# INotifyPropertyChanged
  5. Js全选,插入实现
  6. 华为OJ:素数对个数
  7. TCP三次握手和四次挥手协议
  8. 李洪强iOS开发之零基础学习iOS开发【02-C语言】03-关键字、标识符、注释
  9. eclipse安装egit上传和clone项目到github
  10. SharePoint开发
  11. Struts2-在js中使用struts2标签
  12. JQuery案例二:实现全选、全不选和反选
  13. 安装pygame出现is not a supported wheel on this platform解决办法
  14. Objective-C Core Animation深入理解
  15. 为单实例数据库配置ASM
  16. Logstash 基础入门
  17. html table 点击跳转
  18. passport登录问题:passport.use 方法没有被调用
  19. 反面教材 构造构造 json 数据
  20. HDU 3820 Golden Eggs

热门文章

  1. vue列表数据倒计时存在的一些坑
  2. kubernetes 项目
  3. H3C S5130交换机堆叠操作
  4. cocos2dx 使用spine制作骨骼动画
  5. JVM分代通俗解释
  6. Cocos2dx学习报告2
  7. MySQL 一台主机多实例root登录问题
  8. 3、Python字典集合
  9. thinkphp5.0的验证码安装和相关错误
  10. pyspark import 可以通过 --py-files