标题:USACO的题,求助
只看楼主
Jason_
Rank: 2
来 自:浙江台州
等 级:论坛游民
帖 子:88
专家分:66
注 册:2019-7-14
结帖率:66.67%
 问题点数:0 回复次数:2 
USACO的题,求助
题目描述
为了消磨时光,奶牛Bessie和她的朋友Elsie喜欢玩一种她们在农业展览会上看到的游戏。
游戏准备阶段,Bessie在桌子上放置三个倒置的坚果壳,并在其中一个坚果壳下面藏了一块小的鹅卵石(至少她希望这是一块鹅卵石——她在一块牧场的地上找到的)。随后Bessie会两两调换坚果壳,同时Elsie试着去猜鹅卵石的位置。

奶牛们在农业展览会上看到的这个游戏的标准形式是玩家可以看到鹅卵石初始的位置,然后要求玩家猜所有交换完成之后鹅卵石最终的位置。

然而,现在奶牛们想要去进行这样一种玩法,Elsie不知道鹅卵石的初始位置,同时她可以在每一次交换之后猜一下鹅卵石的位置。Bessie知道正确答案,在游戏结束后会给Elsie一个分数,等于她猜对的次数。

给定所有的交换和Elsie的猜测,但是不给出鹅卵石的初始位置,请求出Elsie最高可能获得的分数。
输入
输入的第一行包含一个整数N,为交换的次数(1≤N≤100)。以下N行每行描述了游戏的一个回合,包含三个整数a、b和g,表示Bessie交换了坚果壳a和b,然后Elsie猜的是坚果壳g。所有这三个数均为1、2、3之一,并且a≠b。
输出
输出Elsie可以得到的最高分数。
样例
输入  复制
3
1 2 1
3 2 1
1 3 1
输出  复制
2
搜索更多相关主题的帖子: 初始 输出 位置 游戏 交换 
2020-04-14 17:14
雪影辰风
Rank: 6Rank: 6
来 自:衡阳市
等 级:贵宾
威 望:22
帖 子:177
专家分:387
注 册:2019-6-17
得分:0 
不知道对不对,先理解吧
【还是温馨提示一句:若是发帖直接求代码糊弄老师,那你没有学的必要了】

程序代码:
#include<cstdio>
#include<iostream>
using namespace std;
inline void swap(int &a,int &b) {
    int t=a;
    a=b;
    b=t;
    return;
}
int main() {
    int n;
    int num[4]= {0,0,0,0};
    scanf("%d",&n);
    for(int i=1,a,b,g; i<=n; i++) {
        scanf("%d%d%d",&a,&b,&g);
        swap(num[a],num[b]);
        num[g]+=1;
    }
    printf("%d",max(num[1],max(num[2],num[3])));
    return 0;
}


另外就是,下次提问可以题名报出来,方便去查,然后提交检测

[此贴子已经被作者于2020-4-14 19:45编辑过]

2020-04-14 19:39
Jason_
Rank: 2
来 自:浙江台州
等 级:论坛游民
帖 子:88
专家分:66
注 册:2019-7-14
得分:0 
回复 2楼 雪影辰风
谢谢
2020-04-16 15:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-501042-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.580669 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved