洛谷 P1199 [NOIP2010 普及组] 三国游戏 刷题笔记

2023-12-25 06:41:13

P1199 [NOIP2010 普及组] 三国游戏 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

思路 贪心?

因为每次你拿当下默契值最大的武将时

计算机一定会将其拆散?

所以我们在已知计算机会拆散的情况下?

我们先选一个武将 ->计算机拆散 ->又到我们

接下来我们直接拿该武将匹配值中第二大的值 。

只要拿到所有第二大 ,而所有第一大又无法组成 ,所以我们必胜。

而对于胜利 我们直接拿所有第二大中最大的值 ,直接获胜 。

所以读好表后 ,sort排序找出第二大中最大的即可。

#include<iostream>
#include<algorithm>
using namespace ?std;
int a[500][500];
int main(){
?? ?int n;
?? ?cin>>n;
?? ?
?? ?int x=2;
?? ?for(int i=1;i<=n;i++){
?? ??? ?int j=x;
?? ??? ?while(j<=n){
?? ??? ??? ?cin>>a[i][j];
?? ??? ??? ?a[j][i]=a[i][j];
?? ??? ??? ?j++;
?? ??? ?}
?? ??? ?x++;
?? ?}
?? ?int maxx=0;
?? ?for(int i=1;i<=n;i++){
?? ??? ?sort(a[i]+1,a[i]+1+n);
?? ??? ?maxx=max(maxx,a[i][n-1]);
?? ?}
?? ?cout<<"1\n"<<maxx<<endl;
?? ?return 0;
}

文章来源:https://blog.csdn.net/2301_78763076/article/details/135125790
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。