1 条题解
-
0
自动搬运
来自洛谷,原作者为

Thomas_Cat
越学越菜。搬运于
2025-08-24 22:29:13,当前版本为作者最后更新于2021-03-19 14:51:00,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
标题名字奇奇怪怪(
这题思路其实很简单。
设现在的赢家为 ,经手人数为 ,经手的人(字符串)用 表示( 表示经手的人,这里用
(int)i来存入数组,, 表示没有经手, 反之)。但是有下面几个坑点:
-
对于每一组输入数据 ,会有下面的可能:
思路很简单,就是直接用
winner数组和sum数组标记即可。代码如下:
#include<bits/stdc++.h> using namespace std; int main(){ char a; cin>>a; int n,sum=1;//同下,已经有人使用过,直接标记为1 cin>>n; char winner=a; int flag[10001]={0}; flag[(int)a]=1;//注意要先标记这里的一开始掌管者已经使用了 for(int i=1;i<=n;i++){ char x,y; cin>>x>>y; if(winner!=x&&winner!=y) continue; else{ if(winner==y){ if(flag[(int)x]==0){//如上所述,上面的字符串用flag数组表示 flag[(int)x]=1;//同理 sum++; } winner=x;//注意标记赢者 } } } cout<<winner<<endl;//输出 cout<<sum; return 0; } -
- 1
信息
- ID
- 6432
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 1
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者