NC213282. yyds!(永远的神!)
描述
输入描述
只有一行输入,唯一个长度不超过100000的字符串,仅由小写英文字母构成的非空字符串。
输出描述
输出"yyds自动机“输出的结果。(输入数据保证输出数据非空)
示例1
输入:
adfabzasfayydagyyadfssydyyyqeqfgymcvckvjzpymkyc
输出:
yydsyydsyydsyydyyy
C 解法, 执行用时: 7ms, 内存消耗: 340K, 提交时间: 2022-03-20 16:27:35
#include<stdio.h> #include<string.h> int main() { char a[100000]; int y,d,s; gets(a); for(int i=0;i<strlen(a);i++) { if(a[i]=='y') y++; if(a[i]=='d') d++; if(a[i]=='s') s++;} while(y>0||d>0||s>0) { if (y>0) { printf("y"); y--;} if (y>0) { printf("y");y--;} if (d>0) { printf("d");d--;} if (s>0) { printf("s");s--;} } }
Python3 解法, 执行用时: 50ms, 内存消耗: 4648K, 提交时间: 2022-03-20 16:27:16
w=input() y=w.count('y') d=w.count('d') s=w.count('s') for i in range(y+d+s): if y>0: print("y",end='') y=y-1 if y>0: print("y",end='') y=y-1 if d>0: print("d",end='') d=d-1 if s>0: print("s",end='') s=s-1
C++(g++ 7.5.0) 解法, 执行用时: 3ms, 内存消耗: 444K, 提交时间: 2023-03-14 10:31:29
#include<bits/stdc++.h> using namespace std; int main(){ map<char,int>mp; string s,k="yyds"; cin>>s; for(char c:s){ mp[c]++; } int t=0; while(mp['y']||mp['d']||mp['s']){ if(mp[k[t%4]])cout<<k[t%4],mp[k[t%4]]--; t++; } }
C++(clang++11) 解法, 执行用时: 8ms, 内存消耗: 592K, 提交时间: 2020-10-27 14:18:17
#include<bits/stdc++.h> using namespace std; string s,t="yyds"; int cnt[222]; int main() { cin>>s; for(int i=0;s[i];i++) cnt[s[i]]++; while(cnt['y']+cnt['d']+cnt['s']) for(int i=0;t[i];i++) if(cnt[t[i]]) { cout<<t[i]; cnt[t[i]]--; } }