#include<iostream> #include<stdio.h> #include<algorithm> #include<cstring> #include<string> #include<vector> #include<map> #include<queue> usingnamespace std; #define ll long long typedef pair<int, int> pii; constint maxn = 2e6 + 5; int n, d, e; int res = 0x3f3f3f3f; intmain(){ cin >> n >> d >> e; for (int i = 0; i <= n / d; i++) { res = min(res, (n - i * d) % (5 * e)); } cout << res; return0; }
B. Badges
算出男生最多和女生最多的情况。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#include<iostream> #include<stdio.h> #include<algorithm> #include<cstring> #include<string> #include<vector> usingnamespace std; #define ll long long int a, b, n; intmain(){ cin >> a >> b >> n; int ans = min(n, a) - (n - min(n, b)) + 1; cout << ans; return0; }
#include<bits/stdc++.h> usingnamespace std; #define ll long long typedef pair<int, int> pii; constint maxn = 1e6 + 5; int n, m, ans; string mz[maxn]; booldfs(int x, int y){ if (x >= n || y >= m || mz[x][y] == '#')returnfalse; if (x == n - 1 && y == m-1)returntrue; if (x || y) mz[x][y] = '#'; returndfs(x + 1, y) || dfs(x, y + 1); } intmain(){ cin.sync_with_stdio(false); cin >> n >> m; for (int i = 0; i < n; i++) { cin >> mz[i]; } if (!dfs(0, 0))cout << 0; else { if (!dfs(0, 0))cout << 1; else cout << 2; } return0; }