洛谷—三連擊
阿新 • • 發佈:2018-11-27
題目描述:
將1,2, \cdots ,91,2,⋯,9共99個數分成33組,分別組成33個三位數,且使這33個三位數構成1:2:31:2:3的比例,試求出所有滿足條件的33個三位數。
AC_CODE:
#include<bits/stdc++.h> using namespace std; string a[10000]; int cnt; bool vis[1000]; bool isok(string s) { memset(vis, 0, sizeof(vis)); for (int i = 0; i < s.size(); i++) { if (s[i] == '0')return false;//1-9組成 if (!vis[s[i]]) { vis[s[i]] = 1; continue; } return false; } return true; } int main() { stringstream ss; for (int i = 100; i <= 333; i++) { for (int j = 200; j <= 666; j++) { for (int k = 300; k <= 999; k++) { if (j == 2 * i&&k == 3 * i) { ss << i, ss << j, ss << k;//int 轉 string a[cnt] += ss.str(); cnt++; ss.str("");//清空 } } } } for (int i = 0; i < cnt; ++i) { if (isok(a[i])) { cout << a[i][0] << a[i][1] << a[i][2] << " " << a[i][3] << a[i][4] << a[i][5] << " " << a[i][6] << a[i][7] << a[i][8] << endl; } } }