我是靠谱客的博主 合适芒果,这篇文章主要介绍小明买了一些彩色的气球用绳子串在一条线上,想要装饰房间,每个气球都染上了一种颜色,每个气球的形状都是各不相同的。我们用1到9一共9个数字表示不同的颜色,如12345则表示一串5个颜色各不相同的气球串。...include "stdafx.h",现在分享给大家,希望可以做个参考。
include "stdafx.h"
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67#include<iostream> #include<vector> #include<string> #include<algorithm> #include<math.h> #include<iomanip> #include<numeric> #include<list> #include<deque> #include<queue> using namespace std; int main() { int n; while (cin>>n) { vector <int> numVec; //存储气球的个数 vector <int> colors; //存储颜色 int num; cin >> num; colors.push_back(num); numVec.push_back(1);//当有零个气球时 numVec.push_back(1);//当有一个气球时 for (int i = 1;i < n;i++) { int num; cin >> num; int cp = colors.size()-1; int np = numVec.size()-1; long long p = numVec[np]; // cout << "概率:" << p << endl; for (int j = colors.size()- 1;j >= 0;j--) { if (colors[j] != num) { bool flag = true; for (int k = j+1;k < colors.size();k++)//前面有任何一个气球和j相等则不能把气球j和后面的气球分成一组 { if (colors[k] == colors[j]) { flag = false; } } if (flag == true) { p += numVec[np - cp + j - 1]; } else { break; } } else { break; } } numVec.push_back(p%1000000007);//不要忘了取余数!!!!!! // cout << "概率:" << p << endl; colors.push_back(num); } cout << numVec[numVec.size() - 1] << endl; } return 0; }
转载于:https://www.cnblogs.com/wdan2016/p/6597050.html
最后
以上就是合适芒果最近收集整理的关于小明买了一些彩色的气球用绳子串在一条线上,想要装饰房间,每个气球都染上了一种颜色,每个气球的形状都是各不相同的。我们用1到9一共9个数字表示不同的颜色,如12345则表示一串5个颜色各不相同的气球串。...include "stdafx.h"的全部内容,更多相关小明买了一些彩色的气球用绳子串在一条线上,想要装饰房间,每个气球都染上了一种颜色,每个气球的形状都是各不相同的。我们用1到9一共9个数字表示不同的颜色,如12345则表示一串5个颜色各不相同的气球串。...include内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复