标签:
第二道题目的题意大概是给定三个无序数组A,B,C;这三个数组中各自的数字没有重复,但是可能存在同时在三个数组中的数字。
如果有请按从小到大的顺序输出,如果没有不输出。
1 #include <iostream> 2 #include <vector> 3 #include <stdio.h> 4 #include <stdlib.h> 5 //#include <cstdio.h> 6 #include <string> 7 #include <algorithm> 8 9 using namespace std; 10 11 12 13 int main() 14 { 15 16 17 int n,m,p; 18 int temp; 19 cin>>n; 20 21 vector<int> num1,num2,num3; 22 for(int i = 0; i<n;++i) 23 { 24 cin>>temp; 25 num1.push_back(temp); 26 } 27 cin>>m; 28 for(int i = 0; i<m;++i) 29 { 30 cin>>temp; 31 num2.push_back(temp); 32 } 33 34 cin>>p; 35 for(int i = 0; i<p;++i) 36 { 37 cin>>temp; 38 num3.push_back(temp); 39 } 40 41 sort(num1.begin(),num1.end()); 42 sort(num2.begin(),num2.end()); 43 sort(num3.begin(),num3.end()); 44 45 int i = 0, j = 0,k = 0; 46 bool flag = false; 47 while(i < n && j< m && k<p) 48 { 49 while(num2[j]<num1[i]) 50 { 51 ++j; 52 } 53 while(num3[k]<num1[i]) 54 { 55 ++k; 56 } 57 if (num1[i] ==num2[j] && num1[i] == num3[k]) 58 { 59 if (!flag) 60 { 61 cout<<num1[i]; 62 flag = true; 63 }else 64 { 65 cout<<" "<<num1[i]; 66 } 67 68 } 69 i++; 70 } 71 72 73 cout<<endl; 74 75 system("pause"); 76 return 0; 77 }
标签:
原文地址:http://www.cnblogs.com/lishichao/p/4829409.html