mahaitao
 1 #include <iostream>
 2 #include<vector>
 3 #include<cstdio>
 4 #include <string>  
 5 using namespace std;
 6 #define DEBUG
 7 void print(vector<int>&nums, int length)
 8 {
 9     for (int i = 0; i < length; i++)
10     {
11         if (i!=length-1)
12         cout << nums[i] << " ";
13         else cout << nums[i] << endl;
14     }
15 }
16 bool isvalid(vector<int>&nums, int length, int index)
17 {
18     if (index>=length - 2 || length <= 2 || !(nums[index] == nums[index + 1] && nums[index + 2] == nums[index + 1]))return false;
19     return true;
20 }
21 void process(vector<int>&nums, int length)
22 {
23     if (length <= 0)return;
24     vector<int>tmp;
25     int cnt = 0;
26     int T = -1;
27     int len1 = length, len2 = 0;
28     while (true)
29     {    
30         if (len1 == len2)
31         {
32             break;
33         }
34         len1 = nums.size();
35         for (int i = 0; i < nums.size(); )
36         {
37             if (isvalid(nums, nums.size(), i))
38             {
39                 T = nums[i];
40                 i = i + 3;
41                 if (i >= nums.size())break;
42                 continue;
43             }
44             else if (T == nums[i])
45             {
46                 i++;
47                 continue;
48             }
49             else
50             {
51                 tmp.push_back(nums[i]);
52                 i++;
53                 T = -1;
54             }
55         }
56         nums = tmp;
57         len2 = nums.size();
58         tmp.clear();
59     }
60 }
61 int main()
62 {
63 #ifdef DEBUG
64     FILE *in;
65     FILE *out;
66     freopen_s(&in,"in.txt", "r", stdin);
67     freopen_s(&out, "out.txt", "w", stdout);
68 #endif
69 //数据读取
70     vector<int>nums(15);
71     int length = nums.size();
72     for (int i = 0; i < length; i++)
73     {
74         cin >> nums[i];
75     }
76 //数据处理
77     process(nums,nums.size());
78 
79 //数据输出
80     print(nums,nums.size());
81 
82 
83 
84 #ifdef DEBUG
85     fclose(in);
86     fclose(out);
87 #endif
88     return 0;
89 }

 

分类:

技术点:

相关文章: