|
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 << " ";
13 else cout << nums << 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;
40 i = i + 3;
41 if (i >= nums.size())break;
42 continue;
43 }
44 else if (T == nums)
45 {
46 i++;
47 continue;
48 }
49 else
50 {
51 tmp.push_back(nums);
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;
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 } |
|
|