本题又主要考察了贪心

斗鸡联赛一共有 n 只鸡参加,第i只鸡截至目前已经积了 ai 分。
接下来还有 m 场比赛要进行,第i场比赛的对阵双方是编号为 ui 和vi 的鸡。积分规则是:胜方加三分,败方不得分,若战平则双方各得一分。
请你计算在最好的情况下,我们的一号选手(炸鸡)能够排到第几名。
注意若有多鸡并列,则排名取并列的排名,且不影响随后的排名(例如两只鸡并列第二名,则都视为第二名,排名其后的下一只鸡视为第四名)。


输入
第一行包括一个整数T  (1 ≤ T ≤ 100),样例组数。
对于每组样例:
第一行输入两个整数n,m(2 ≤ n ≤ 10,1 ≤ m ≤ 10),含义如题面所述。
第二行输入 n 个整数 (0 ≤ ai ≤ 100),表示第 i 只鸡当前已经有的积分。
接下来的 m 行,每行有两个正整数 (1 ≤ ui,vi ≤ n,ui ≠ vi),表示第 i 场比赛的对阵双方。

输出
对每组样例,输出一个整数表示一号选手最好的情况下能够排到第几名。

Input
3
4 3
2 4 5 8
1 2
1 4
2 4
3 1
3 1 1
2 3
6 6
1 2 3 4 5 6
2 3
2 3
3 4
4 5
5 6
6 1

Output
1
1
4

解析:
好好好,标题真好,还贪心!被骗了。

#include <bits/stdc++.h>
#include <math.h>
using namespace std;
#define int long long
#define endl '\n'
#define ios ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
int gcd(int a,int b) { return b? gcd(b,a%b) : a; }
typedef pair<int,int> PII;
const double PI=acos(-1.0);
const int N=2e6+10;
struct node
{
    int x,y;
}str[25];
int n,m;
int ans,len;
int dx[3]={0,1,3};
int dy[3]={3,1,0};
int a[25];
void dfs(int u,int s)
{
    if (u>=len)
    {
        int cnt=1;
        for (int i=2;i<=n;i++)
        {
            if (a[i]>a[1]) cnt++;
        }
        ans=min(ans,cnt);
        return ;
    }
    for (int i=s;i<len;i++)
    {

        int x=str[i].x,y=str[i].y;
        for (int j=0;j<3;j++)
        {
            a[x] +=dx[j];
            a[y] +=dy[j];
            dfs(u+1,i+1);
            a[x] -=dx[j];
            a[y] -=dy[j];
        }
    }
}
void solve()
{
    cin>>n>>m;
    for (int i=1;i<=20;i++) a[i]=0;
    for (int i=1;i<=n;i++) cin>>a[i];
    len=0;
    for (int i=0;i<m;i++)
    {
        int x,y;
        cin>>x>>y;
        if (x==1||y==1) a[1] +=3;
        else  str[len++]={x,y};
    }
    ans=n;
    dfs(0,0);
    cout<<ans<<endl;
}
signed main()
{
    ios;
    int T=1;
    cin>>T;
    while (T--) solve(); 
    return 0;
}


 

相关推荐

  1. 本题主要考察贪心

    2024-02-02 23:04:01       53 阅读
  2. 回来

    2024-02-02 23:04:01       47 阅读
  3. centos 杀死一个进程启动

    2024-02-02 23:04:01       23 阅读
  4. Rocketmq的坑

    2024-02-02 23:04:01       23 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-02 23:04:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-02 23:04:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-02 23:04:01       82 阅读
  4. Python语言-面向对象

    2024-02-02 23:04:01       91 阅读

热门阅读

  1. 第十章 函数 (上)第一节-第九节

    2024-02-02 23:04:01       43 阅读
  2. uniapp uni.redirectTo() 跳转失效

    2024-02-02 23:04:01       57 阅读
  3. Centos7环境安装PHP8

    2024-02-02 23:04:01       58 阅读
  4. PHP面试题

    2024-02-02 23:04:01       55 阅读
  5. 2款网络监控系统软件,你更喜欢哪款?

    2024-02-02 23:04:01       51 阅读
  6. 速盾:服务器接入免备案CDN节点的好处有哪些

    2024-02-02 23:04:01       48 阅读
  7. 用于Web导出excel

    2024-02-02 23:04:01       51 阅读
  8. 关于后端异步+前端进度条的简单实现

    2024-02-02 23:04:01       45 阅读
  9. Three.js PBR 物理渲染

    2024-02-02 23:04:01       57 阅读
  10. this.$set()用法,强制刷新,新删改查

    2024-02-02 23:04:01       53 阅读
  11. JVM 内存配置参数积累

    2024-02-02 23:04:01       53 阅读
  12. vue + element 页面滚动计算百分比 + 节流函数

    2024-02-02 23:04:01       50 阅读