算式900-2017省赛
https://www.lanqiao.cn/problems/649/learning/

暴力dfs解决 答案是(6048-5973)*12=900。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| #include <iostream> using namespace std; int st[10]; int n[10];
void dfs(int u) { if(u > 9) { int a = n[0] * 1000 + n[1] * 100 + n[2] * 10 + n[3]; int b = n[4] * 1000 + n[5] * 100 + n[6] * 10 + n[7]; int c = n[8] * 10 + n[9]; if((a - b) * c == 900) cout << a << ' ' << b << ' ' << c << endl; } else { for(int i = 0;i < 10;i ++) { if(st[i]) continue;
st[i] = true; n[u] = i; dfs(u + 1);
st[i] = false; }
} }
int main() { dfs(0); return 0; }
|
谈判
https://www.lanqiao.cn/problems/545/learning/

输入输出样例
示例 1
输入
输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| #include <algorithm> #include <cstring> #include <iostream> using namespace std;
const int N = 1010; int b[N];
int main() { int n; cin >> n;
for (int i = 0; i < n; i++) cin >> b[i];
sort(b, b + n);
int now = b[0] + b[1]; int sum = now; for (int i = 2; i < n; i++) { now += b[i]; sum += now; }
cout << sum << endl;
return 0; }
|
幸运数-2013省赛
https://www.lanqiao.cn/problems/214/learning/


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| #include <algorithm> #include <iostream> using namespace std;
const int N = 1e6 + 10; bool l[N]; int idx[N];
void makeLucky() { int index = 1; for (int i = 1; i < 100; i++) { if (l[i]) continue; idx[i] = index++; int cnt = 0; for (int j = i + 1; j < 1e6 + 5; j++) { if (l[j]) continue; cnt++; if (cnt % idx[i] == 0) l[j] = true; } } }
int main() { int m, n; cin >> m >> n;
makeLucky();
int cnt = 0;
for (int i = 0; i < N; i++) { if (i >= n) break; if (!l[i] && i >= m) cnt++; }
for (int i = 1; i < 100; i++) if (!l[i]) cout << i << ' '; cout << cnt << endl;
return 0; }
|
123-2021国赛
https://www.lanqiao.cn/problems/1591/learning/
