[C_AR167-易] 三個陣列的共同元素
Time Limit: 2 seconds
問題描述 :
有三個陣列 x[]、y[] 、z[] ,各有 x 、 y 、 z 個元素,且三個陣列都已由小到大排序過。請撰寫一之程式找出最小共同元素值 ( 也就是同時在三個陣列中出現,且值最小的元素 ) ;若沒有共同元素,請輸出 “ 沒有 ” 。
輸入說明 :
每 4 行為一組測試資料,其中第 1 行為陣列的元素個數,三個陣列的元素個數都一樣,第 2 行為 x[] 、第 3 行為 y[] 、第 4 行為 z[] 。陣列的元素與元素之間以一個逗點「 , 」隔開及一個空白字元隔開,元素的值介於 1~50 之間,元素個數介於 10~30 之間,陣列元素已由小到大排列,且元素值不重複。
輸出說明 :
每 3 行輸入產生一行輸出,輸出為 1 個數字或 “ 沒有 ” 。數字為x[]、y[] 、z[] 中的 最小共同元素值;若沒有共同元素,請輸出 “none” 。
範例 :
問題描述 :
有三個陣列 x[]、y[] 、z[] ,各有 x 、 y 、 z 個元素,且三個陣列都已由小到大排序過。請撰寫一之程式找出最小共同元素值 ( 也就是同時在三個陣列中出現,且值最小的元素 ) ;若沒有共同元素,請輸出 “ 沒有 ” 。
輸入說明 :
每 4 行為一組測試資料,其中第 1 行為陣列的元素個數,三個陣列的元素個數都一樣,第 2 行為 x[] 、第 3 行為 y[] 、第 4 行為 z[] 。陣列的元素與元素之間以一個逗點「 , 」隔開及一個空白字元隔開,元素的值介於 1~50 之間,元素個數介於 10~30 之間,陣列元素已由小到大排列,且元素值不重複。
輸出說明 :
每 3 行輸入產生一行輸出,輸出為 1 個數字或 “ 沒有 ” 。數字為x[]、y[] 、z[] 中的 最小共同元素值;若沒有共同元素,請輸出 “none” 。
範例 :
輸入範例 | 輸出範例 |
10 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 2, 4, 9, 10, 12, 14, 16, 18, 20, 21 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 11 12, 17, 18, 25, 27, 31, 33, 36, 44, 47, 48 1, 13, 16, 19, 20, 21, 22, 31, 39, 40, 45 2, 9, 17, 20, 27, 30, 32, 35, 36, 37, 48 | 9 none |
- #include <iostream>
- #include <string>
- #include <sstream>
- using namespace std;
- int main() {
- // [C_AR167-易] 三個陣列的共同元素
- // g++(c++11)
- //因為n用int不知為啥讀不到,所以用string
- string Num;
- while(getline(cin, Num))
- {
- int num = stoi(Num);
- int x[num], y[num], z[num];
- for(int i = 0;i < 3;i++)
- {
- int count = 0;
- string str_arr;
- getline(cin, str_arr);
- //字串切割
- stringstream ss(str_arr);
- string token;
- while (getline(ss, token, ','))
- {
- if(i == 0)//x[]
- {
- x[count] = stoi(token);
- count++;
- }
- else if(i == 1)//y[]
- {
- y[count] = stoi(token);
- count++;
- }
- else if(i == 2)//z[]
- {
- z[count] = stoi(token);
- count++;
- }
- }
- }
- int min = 51;
- for(int i = 0;i < num;i++)
- {
- for(int j = 0;j < num;j++)
- {
- for(int k = 0;k < num;k++)
- {
- if(x[i] == y[j] && y[j] == z[k])
- {
- if(x[i] < min)
- {
- min = x[i];
- }
- }
- }
- }
- }
- if(min == 51)
- {
- cout << "none" << endl;
- }
- else
- {
- cout << min << endl;
- }
- min = 51;
- }
- return 0;
- }
沒有留言:
張貼留言