NYOJ991Registration system
2016-04-13 18:26
190 查看
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=991
还是STL中的set
头文件#include <set> using namespace std;
声明:set<string> s.
如果来了一个字符串a,用s.count(a)判断s中是否存在a,如果不存在a,直接输出OK并用s.insert(a)把a插入到s中,如果存在了,就从a1一直往后找,直到找到一个在s中没有的字符串,输出并插入到s中,这里用到了一个stringstream ;
解释一下stringstream 这个是用来将int型数据转化为字符串的;
如:
下面是本题的AC码
还是STL中的set
头文件#include <set> using namespace std;
声明:set<string> s.
如果来了一个字符串a,用s.count(a)判断s中是否存在a,如果不存在a,直接输出OK并用s.insert(a)把a插入到s中,如果存在了,就从a1一直往后找,直到找到一个在s中没有的字符串,输出并插入到s中,这里用到了一个stringstream ;
解释一下stringstream 这个是用来将int型数据转化为字符串的;
如:
#include <iostream> #include <string> #include <sstream> //stringstream 头文件 using namespace std; int main() { string s; int n; cin >> n; stringstream ss; ss << n; ss >> s; cout << s << endl; }
下面是本题的AC码
#include <iostream> #include <set> #include <cstdio> #include <string> #include <sstream> using namespace std; set<string> s; int main() { int n; int cnt; cin >> n; while(n--) { string a; cin >> a; if(!s.count(a)) { cout << "OK" << endl; s.insert(a); } else { cnt = 1; for(int i = cnt;;++i) { string t; stringstream ss; ss << i; ss >> t; if(!s.count(a + t)) { cout << a + t << endl; s.insert(a + t); break; } } } } return 0; }
相关文章推荐
- Linux 针对用户的操作
- MySql 关键字冲突解决办法
- 第五篇——C++实现四则运算
- Dism 错误 87
- 警告:Automatic Preferred Max Layout Width before iOS8.0
- 教你怎么用键盘
- 操作系统开发系列—7.中断和异常
- 静态,伪静态网页技术
- 市民选举制
- C#枚举
- 对图片进行64位编码后字符串会换行的问题
- 最大子数组和(首尾相连)
- python 转 exe -- py2exe库实录
- 未能返回新代码元素错误的解决
- .Net持续集成 —— Jenkins+Git+WebDeploy
- 未能返回新代码元素错误的解决
- 上传ipa出现的错误提示“application loader上传出错 生成的API分析文件太大”解决方法
- Android适配全攻略
- iOS 免费无证书真机调试详解
- android 事件分发 拦截 (onInterceptTouchEvent dispatchTouchEvent onTouchEvent)