1 solutions
-
0
#include<bits/stdc++.h> using namespace std; /* 由于m和n的最大值是100,按最大值算,能组合出的邮资 的最大值=100*3+100*5=800 用长度为810的数组来记录不同邮资的出现 */ int m, n, a[810], c = 0;//c表示不同方案的数量 int main() { cin >> m >> n; int x; //组合所有的可能 //3分的可能范围 for(int i = 0; i <= m; i++){ //5分的数量范围 for(int j = 0; j <= n; j++){ x = 3*i+5*j; if(x != 0){ a[x]++; if(a[x] == 1) c++;//统计不同方案的数量 } } } //循环可能邮资范围 for(int i = 1; i <= 800; i++){ if(a[i] != 0) cout << i << " "; } cout << endl; cout << c; return 0; }
- 1
Information
- ID
- 592
- Time
- 1000ms
- Memory
- 16MiB
- Difficulty
- 10
- Tags
- # Submissions
- 1
- Accepted
- 1
- Uploaded By