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

OnlyU
IU搬运于
2025-08-24 21:21:55,当前版本为作者最后更新于2019-09-29 20:51:54,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
本蒟蒻的第一篇题解,希望能过。 其实这道题是一道非常水的模拟题,看了一遍题目后发现这样的规律:排行不变的歌当然不变,排行下滑的歌先输出,排行上升的歌后输出就好了。 知道思路后我们就可以用数组模拟了。 具体代码见下:
include<bits/stdc++.h> using namespace std; string Sup[101],Sdown[101],ans[101];//Sup数组储存UP的歌,Sdown数组储存DOWN的歌 ,ans数组储存最终的答案 int up=0,down=0,now1=0,now2=0;//up是UP的歌的数量,down是DOWN的歌的数量 int n; int main() { cin>>n; for(int i=1; i<=n; i++) { string s1,s2; cin>>s1>>s2; if(s2=="UP") { up++; Sup[up]=s1; } if(s2=="DOWN") { down++; Sdown[down]=s1; } if(s2=="SAME") { ans[i]=s1; } } for(int i=1; i<=n; i++) { if(ans[i]!="")continue; else { if(now1<down) { now1++; ans[i]=Sdown[now1]; } else { now2++; ans[i]=Sup[now2]; } } } for(int i=1; i<=n; i++) cout<<ans[i]<<endl; return 0; }
- 1
信息
- ID
- 161
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 3
- 标签
- 递交数
- 1
- 已通过
- 0
- 上传者