牛客(多校7):Mask Allocation

在这里插入图片描述
在这里插入图片描述

输入

2 
5 4
3 3

输出

8
4 4 4 4 1 1 1 1
3
3 3 3

题意:
n*m个口罩,装最少的箱,使得在个数平均的情况下,既能分箱分给n个医院,也能分给m个医院。

上笨代码:

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
vector<int> ans;
void gcd(int n,int m)
{
    if(m==0) return;
    for(int i=0;i<(n/m)*m;i++) ans.push_back(m);
    gcd(m,n%m);
}
int main()
{
    int t,n,m,i;
    scanf("%d",&t);
    while(t--)
    {
        ans.clear();//服务于下一组数据t--
        scanf("%d%d",&n,&m);
        if(n<m) swap(n,m);
        gcd(n,m);
        printf("%d\n",ans.size());
        for(i=0;i<ans.size();i++)  
            printf("%d ",ans[i]);
        puts("");
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_46144237/article/details/107738862