#include"bits/stdc++.h" usingnamespace std; using i64 = longlong; intmain() { int n, x, k; cin >> n >> x >> k; int sum = n * x; //总的 cout << sum / k << '\n'; //得到数量 while (sum >= k) { cout << sum / x - (sum - k) / x << ' '; sum -= k; }
#include<bits/stdc++.h> usingnamespace std; constint N = 101001; char s[N]; int n, m, ans; intmain() { cin >> s + 1; n = strlen(s + 1); int t = 1; for (int i = 1; i <= n; i++) { if (s[i] == '0') t++; else break; } for (int i = t; i <= n; i++) { if (s[i] == '1') ans++; else ans--; } int res = ans; for (int i = t + 1; i <= n; i++) { if (s[i] == '0') res++; //删除 //跑一遍删除的过程 else res--; ans = max(res, ans); } cout << ans; return0; }
#include<bits/stdc++.h> usingnamespace std; constint N = 101001; int a[N]; bool v[N]; int n, m, ans; voiddfs(int k, int s) { while (a[k] == s) { if (v[k] == 0) { v[k] = 1; int q = lower_bound(a + 1, a + n + 1, s + 1) - a; dfs(q, s + 1); break; } k++; } } intmain() { cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; sort(a + 1, a + n + 1); //排序 for (int i = 1; i <= n; i++) { if (v[i] == 1) continue; //如果已经删除了 v[i] = 1; m = a[i]; ans++; int k = lower_bound(a + 1, a + n + 1, m + 1) - a; dfs(k, m + 1); } cout << ans; return0; }
#include<bits/stdc++.h> usingnamespace std; constint N = 1000; #define int long long int dx[5] = {0, -1, 0, 1, 0}; int dy[5] = {0, 0, 1, 0, -1}; structnihao { int w; int x, y; booloperator<(const nihao &u) const { return w > u.w; } }; int n, m, x; int u, v, uu, vv; voidsolve() { cin >> n >> m >> x; char mp[n + 10][m + 10]; int dis[n + 10][m + 10]; bool vis[n + 10][m + 10]; memset(dis, 0x3f3f3f3f, sizeof(dis)); memset(vis, 0, sizeof(vis)); for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) cin >> mp[i][j];
for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) { if (mp[i][j] == 'T') uu = i, vv = j; if (mp[i][j] == 'S') u = i, v = j; } priority_queue<nihao> q; q.push({0, u, v}); dis[u][v] = 0; while (!q.empty()) {
nihao t = q.top(); int x = t.x, y = t.y; int ddd = t.w; q.pop(); if (vis[x][y]) continue; vis[x][y] = 1; for (int g = 1; g <= 4; g++) { int i = x + dx[g], j = y + dy[g]; if (i > n || i < 1 || j > m || j < 1) continue; if (i == uu && j == vv) { dis[uu][vv] = min(dis[uu][vv], dis[x][y]); }
int D = ddd + mp[i][j] - '0'; if (D < dis[i][j]) { dis[i][j] = D; q.push({D, i, j}); } } } if (dis[uu][vv] < x) cout << "Yes\n"; else cout << "No\n"; } int T; signedmain() { cin >> T; while (T--) { solve(); } return0; }