ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

1024 [SCOI2010]游戏

2022-07-03 00:01:45  阅读:162  来源: 互联网

标签:1024 游戏 int sum boss ++ lxhgww 装备 SCOI2010



链接:https://ac.nowcoder.com/acm/contest/23156/1024
来源:牛客网

题目描述

lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示。当他使用某种装备时,他只能使用该装备的某一个属性。并且每种装备最多只能使用一次。 游戏进行到最后,lxhgww遇到了终极boss,这个终极boss很奇怪,攻击他的装备所使用的属性值必须从1开始连续递增地攻击,才能对boss产生伤害。也就是说一开始的时候,lxhgww只能使用某个属性值为1的装备攻击boss,然后只能使用某个属性值为2的装备攻击boss,然后只能使用某个属性值为3的装备攻击boss……以此类推。现在lxhgww想知道他最多能连续攻击boss多少次?

输入描述:

输入的第一行是一个整数N,表示lxhgww拥有N种装备
接下来N行,是对这N种装备的描述,每行2个数字,表示第i种装备的2个属性值

输出描述:

输出一行,包括1个数字,表示lxhgww最多能连续攻击的次数。
示例1

输入

复制
3
1 2
3 2
4 5

输出

复制
2

备注:

对于30%30\%30% 的数据,保证N≤1000N \leq 1000N≤1000
对于100%100\%100% 的数据,保证N≤1000000N \leq 1000000N≤1000000

贪心:

是我搞错了还是大佬搞错了。这题直接贪心不就行了,为啥要二分图匹配,。。。

给每个节点按照比较小的关键字排序,然后比较大的关键字排序不排序都行

然后从前往后查找每个1,2,3,4,5.。。和每个节点一一比较

如果每个节点的a和b都不满足条件,把这个b保存下来,如果下次遇到了这个b值直接使用它

就a了啊。

 


//-------------------------代码----------------------------

//#define int LL
const int N = 1e6+10;
int n,m;
struct Q {
    int a,b;
    bool operator<(const Q & t )const {
        if(a == t.a) {
            return b < t.b;
        }  else return a < t.a;
    }
};
Q q[N];
int vis[N];
void solve()
{
     cin>>n;
//     V<V<int>>mp(n+1,V<int>(m+1));
     fo(i,1,n) {
         cin>>q[i].a>>q[i].b;
         if(q[i].a > q[i].b)swap(q[i].a,q[i].b);
     }
    sort(q+1,q+1+n);
    int sum = 0;
    int l = 0;
    for(int i = 1;i<=n;i++) {
        while(vis[sum + 1]) sum ++ ,l ++ ;
        if(q[i].a == 1+sum) {
            sum ++ ; l ++ ;
        } else if(q[i].b == 1 + sum) {
            sum ++ ; l ++ ;
        } else vis[q[i].b] = true;
    }
    cout<<l<<endl;
}

signed main(){
    clapping();TLE;
    
//    int t;cin>>t;while(t -- )
    solve();
//    {solve(); }
    return 0;
}

/*样例区


*/

//------------------------------------------------------------

标签:1024,游戏,int,sum,boss,++,lxhgww,装备,SCOI2010
来源: https://www.cnblogs.com/er007/p/16438964.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有