#include <bits/stdc++.h> using namespace std; // 自己直接的想法就是枚举 不过设置每一层遍历的边界 int main() { int a; while (cin >> a) { // 注意 while 处理多个 case // int x,y,k; for(int x = 0; x<=20; ++x) { int x_l = (100-5*x)/3; for(int y=0; y<=x_l; ++y) { int y_l = 100-5*x-3*y; for(int k=0; k<=y_l; k++) { int m = 5*x + 3*y +k; int n = x+y+3*k; if(m==100 && n==100) { int z = 3*k; cout<<x<<" "<<y<<" "<<z<<endl; } } } } } } // 64 位输出请用 printf("%lld")
这是我自己 写的 似乎比较暴力的枚举