1 solutions

  • 0
    @ 2023-1-29 15:10:26
    #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;
    }
    
    

    Information

    ID
    592
    Time
    1000ms
    Memory
    16MiB
    Difficulty
    10
    Tags
    # Submissions
    1
    Accepted
    1
    Uploaded By