日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

stl-map的一道很好的题目

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 stl-map的一道很好的题目 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Damn Single (25)

“Damn Single (單身狗)” is the Chinese nickname for someone who is being single. You are supposed to find those who are alone in a big party, so they can be taken care of.

Input Specification:

Each input file contains one test case. For each case, the first line gives a positive integer N (<=50000), the total number of couples. Then N lines of the couples follow, each gives a couple of ID’s which are 5-digit numbers (i.e. from 00000 to 99999). After the list of couples, there is a positive integer M (<=10000) followed by M ID’s of the party guests. The numbers are separated by spaces. It is guaranteed that nobody is having bigamous marriage (重婚) or dangling with more than one companion.

Output Specification:

First print in a line the total number of lonely guests. Then in the next line, print their ID’s in increasing order. The numbers must be separated by exactly 1 space, and there must be no extra space at the end of the line.

Sample Input:
3
11111 22222
33333 44444
55555 66666
7
55555 44444 10000 88888 22222 11111 23333
Sample Output:
5
10000 23333 44444 55555 88888

思路:pat甲級的一道題目,個人的第一次看到用map容器的用法,map的用法主要用于標記,這道題個人感覺很不錯,運用map,很好說明map的一些常用的用法。用法在代碼注釋。

#include <cstdio> #include <cstring> #include <vector> #include <map> #include <algorithm> #include <iostream> using namespace std; int main(){ int n,count=0; string a,b; map<string,string> c; map<string,int> d; vector<string> re; cin>>n; for(int i=1;i<=n;i++){ cin>>a>>b; c.insert(pair<string,string>(a,b));//對a和b進行插入,說明a是key,b是value;c.insert(pair<string,string>(b,a)); //想反的在進行一個插入,a與b此時連在一起的感覺。} cin>>n; for(int i=1;i<=n;i++){ cin>>a; d[a]=1; //對a進行標記;} int flag=0; map<string,int> ::iterator it; for(it=d.begin();it!=d.end();it++){ if(d.count(c[it->first])==0){ //count函數說明value有沒有出現,c【}it-》first 】的值是夫妻對方;主要要明白這里的it->first。count++; re.push_back(it->first); //map中的it->first是自動排序的。} } cout<<count<<endl; for(int i=0;i<re.size();i++){ cout<<re.at(i)<<(i==re.size()-1?'\n':' '); } return 0; }

總結

以上是生活随笔為你收集整理的stl-map的一道很好的题目的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。