1112. Stucked Keyboard (20) (字符串处理)
来源:互联网 发布:php解析markdown 编辑:程序博客网 时间:2024/06/03 17:25
题目地址
https://www.patest.cn/contests/pat-a-practise/1112
很逗的解法
#include <cstdio>#include <cstdlib>#include <cmath>#include <cstring>#include <iostream>#include <string>#include <vector>#include <queue>#include <algorithm>#include <sstream>#include <stack> #include <map> #include <unordered_map> #include <unordered_set> using namespace std; map<char,vector<int>> mp;int K;struct data{ char c; int count;};vector<data> v;int main(){ //freopen("in.txt", "r", stdin); while(scanf("%d",&K) != EOF) { string s; getchar(); getline(cin,s); map<char,bool> mpNot; s = s + "#"; int len = s.size(); int cnt = 1; for(int i=1;i<len;i++) { if(s[i] != s[i-1]) { if(cnt % K != 0) // 每一次的单独出现都应该是K的倍数,否则就不对 { mpNot[s[i-1]] = true; } mp[s[i-1]].push_back(cnt); data dt; dt.c = s[i-1]; dt.count = cnt; v.push_back(dt); cnt = 1; }else{ cnt ++; } } vector<char> rs; map<char,int> ans; for(int i=1;i<len-1;i++) { if(mpNot[s[i]] == true) { }else{ if(ans[s[i]] == 0) { rs.push_back(s[i]); ans[s[i]] = 1; } } } vector<char>::iterator it = rs.begin(); // 打印broken while(it != rs.end()) { printf("%c",*it); ++it; } printf("\n"); int vLen = v.size(); for(int i= 0; i< vLen;i++) { if(ans[v[i].c] != 1) { while(v[i].count --) printf("%c",v[i].c); }else{ int tmp = v[i].count / K; while(tmp --) printf("%c",v[i].c); } } printf("\n"); ans.clear(); mp.clear(); v.clear(); } // end while return 0; }
0 0
- 1112. Stucked Keyboard (20) (字符串处理)
- 1112. Stucked Keyboard (20)[字符串处理]
- 1112. Stucked Keyboard (20) -- 字符串处理,使用map
- 1112. Stucked Keyboard (20)
- 1112. Stucked Keyboard (20)
- 1112. Stucked Keyboard (20)
- 1112.Stucked Keyboard (20)
- 1112. Stucked Keyboard (20)
- 1112. Stucked Keyboard (20)
- 1112. Stucked Keyboard (20)
- 1112. Stucked Keyboard (20)
- 1112. Stucked Keyboard (20)
- 1112. Stucked Keyboard (20)
- 1112. Stucked Keyboard (20)
- 1112. Stucked Keyboard (20)
- 1112. Stucked Keyboard (20)
- 1112. Stucked Keyboard (20) hash
- PAT_A 1112. Stucked Keyboard (20)
- Restful Web Api Get 和 Post 请求的参数设置
- LonLife 1046 chess play
- forward和redirect的区别
- Linux下统计当前文件夹下的文件个数、目录个数
- 信息更新小红点显示——自定义控件BadgeView的使用介绍
- 1112. Stucked Keyboard (20) (字符串处理)
- gcc与g++比较
- oneVsRest.data
- TabLayout使用
- material design lite学习(六)图标
- java反射使用场景
- spark 读取mysql数据
- python命令行参数解析模块argparse和docopt
- Sqoop将SqlServer数据导入HDFS