C++:题目内容:现有n块砖,要由n个人一次搬完,假定男人一次可以搬4块,女人一次可以搬3块,两个小孩可以一起搬1块,计算这n人中男人、女人和小孩的人数。

题目内容:现有n块砖,要由n个人一次搬完,假定男人一次可以搬4块,女人一次可以搬3块,两个小孩可以一起搬1块,计算这n人中男人、女人和小子的人数。
要求:用户输入人数和砖数n,程序输出可能的解决方案。如果没有满足的情况,显示提示信息“无解!”。输出格式见样例,有多组方案时,按男人数量从多到少的顺序输出。男人数量相同时,女人数量从少到多。
输入格式:表示人数的整型数
输出格式:所有满足条件的男人、女人和小子的人数或者提示信息“无解!”
输入输出样例1:(带下划线的部分是用户输入的)
请输入人数和砖数n=50
男5女3小子42
男0女10小子40
输入输出样例2:
请输入人数和砖数n=1
无解!

#include <iostream>
using namespace std;
int main()
{
    int x,y,z,n;
    int flag = 0;
    cout<< "请输入人数和砖数n=" ;
    cin >> n;
    for (x = 0;x<=n;x++)
    {
        for (y = 0;y<=n;y++)
        {
            z = n - 4*x - 3*y;
            if( (z >= 0) && (x+y+2*z == n))
            {
                flag = 1;
                cout << "男" << x <<"女" << y << "小子" << 2*z<<endl;
            }
        }
    }
    if(flag ==0)
        cout <<"无解!" << endl;
    return 0;
}