zzulioj 1204 剔除相关数(map和vector的应用)
来源:互联网 发布:心事谁人知 张惠妹 编辑:程序博客网 时间:2024/04/26 01:45
Description
一个数与另一个数如果含有相同数字和个数的字符,则称两数相关。现有一堆乱七八糟的整数,里面可能充满了彼此相关的数,请你用一下手段,自动地将其剔除。
Input
多实例测试。每组数据包含一个n(n<1000),和n个int范围内的正整数。若n为0,表示结束。
Output
按从小到大的顺序输出非相关数,若没有非相关数,则输出None。
Sample Input
8
213 667 3 213 43 34 677 2
3
322 232 232
0
213 667 3 213 43 34 677 2
3
322 232 232
0
Sample Output
2 3 667 677
None
思路:利用STL解题方便很多,充分利用STL中map以及vector容器的性质。
None
思路:利用STL解题方便很多,充分利用STL中map以及vector容器的性质。
#include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<vector>#include<cstring>#include<string>#include<map>using namespace std;map<string,int>mp;vector<string>wc;string rp(string &s)//把每个数字按字典序重新排列{ string res=s; sort(res.begin(),res.end()); return res;}int main(){ string s; int i,n; while(scanf("%d",&n),n!=0) { mp.clear(); for(i=0;i<n;i++) { cin>>s; wc.push_back(s);//先将s压入容器中 string ans=rp(s); mp[ans]++; } vector<string>ss; for(i=0;i<n;i++) { if(mp[rp(wc[i])]==1)//如果该数字只出现一次的话,压入另一个容器中; ss.push_back(wc[i]); } sort(ss.begin(),ss.end()); int k=ss.size(); if(k==0) printf("None\n"); else { cout<<ss[0]; for(i=1;i<k;i++) cout<<' '<<ss[i]; printf("\n"); } ss.clear(); wc.clear(); } return 0;}
0 0
- zzulioj 1204 剔除相关数(map和vector的应用)
- 1204: 剔除相关数
- zzuli oj 1204: 剔除相关数
- 剔除相关数
- 1081: 剔除相关数
- STL map,vector和pair的混合应用
- Vector,和vector的应用
- ZZULIOJ 1917: E(序列的价值,思维,vector)
- 求两个数的交集,使用map容器和vector容器
- ZZULIOJ 1787 生化危机 (vector+DFS)
- zzulioj 1831: 周末出游 (vector&&dfs)
- map容器和vector的结合使用(UVA 11991)
- map和vector的查找方法
- C++MAP和vector的用法
- map和vector删除元素的区别
- vector和map的erase问题
- vector和map 容器的区别
- vector和map的erase()函数
- 第二章 Oracle 表及表空间
- Barnes-Hut算法
- Java中访问修饰符与对应的作用范围
- 作为大数据工程师,你必须熟练运用的性能优化技术
- 四种方案解决ScrollView嵌套ListView问题
- zzulioj 1204 剔除相关数(map和vector的应用)
- leetcode--container_with_most_water
- Spring Boot Controller
- Java环境的配置
- 树莓派玩耍笔记1 -- 开箱 & 安装系统以及简单配置
- 功能自动化测试工具列表大全
- 第三章 Oracle 序列
- leetcode---Compare Version Numbers
- Medium 256题 Paint House