diff options
Diffstat (limited to 'works/life/algorithm-contest-2/solution')
-rw-r--r-- | works/life/algorithm-contest-2/solution/1.cpp | 34 | ||||
-rw-r--r-- | works/life/algorithm-contest-2/solution/2.cpp | 41 | ||||
-rw-r--r-- | works/life/algorithm-contest-2/solution/3.cpp | 77 | ||||
-rw-r--r-- | works/life/algorithm-contest-2/solution/4.cpp | 48 | ||||
-rw-r--r-- | works/life/algorithm-contest-2/solution/5-bf.cpp | 34 | ||||
-rw-r--r-- | works/life/algorithm-contest-2/solution/5.cpp | 49 |
6 files changed, 0 insertions, 283 deletions
diff --git a/works/life/algorithm-contest-2/solution/1.cpp b/works/life/algorithm-contest-2/solution/1.cpp deleted file mode 100644 index 2689f9d..0000000 --- a/works/life/algorithm-contest-2/solution/1.cpp +++ /dev/null @@ -1,34 +0,0 @@ -#include <iostream>
-#include <cstdio>
-#include <cstring>
-#include <algorithm>
-#include <vector>
-#include <queue>
-#include <stack>
-#include <set>
-#include <map>
-#include <cmath>
-#include <unordered_map>
-#include <unordered_set>
-#include <string>
-#include <sstream>
-#include <climits>
-#define x first
-#define y second
-#define pub push_back
-#define mp make_pair
-#define ll long long
-using namespace std;
-
-int x, y;
-
-int main(void) {
- cin >> x >> y;
- int ans = x;
- while (x >= y) {
- ans += x / y;
- x = x / y + x % y;
- }
- cout << ans;
- return 0;
-}
\ No newline at end of file diff --git a/works/life/algorithm-contest-2/solution/2.cpp b/works/life/algorithm-contest-2/solution/2.cpp deleted file mode 100644 index 4410da0..0000000 --- a/works/life/algorithm-contest-2/solution/2.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#define _CRT_SECURE_NO_WARNINGS
-#include <iostream>
-#include <cstdio>
-#include <cstring>
-#include <algorithm>
-#include <vector>
-#include <queue>
-#include <stack>
-#include <set>
-#include <map>
-#include <cmath>
-#include <unordered_map>
-#include <unordered_set>
-#include <string>
-#include <sstream>
-#include <climits>
-#define x first
-#define y second
-#define pub push_back
-#define mp make_pair
-#define ll long long
-using namespace std;
-typedef pair<int, int> PII;
-
-const int MAXN = 1e5 + 5;
-int n, a[MAXN];
-
-int main(void) {
- cin >> n;
- for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
- sort(a + 1, a + 1 + n);
-
- int l = 1, r = n;
- ll ans = 0;
-
- while (l < r) {
- ans += (a[r--] - a[l++]);
- }
- cout << ans;
- return 0;
-}
\ No newline at end of file diff --git a/works/life/algorithm-contest-2/solution/3.cpp b/works/life/algorithm-contest-2/solution/3.cpp deleted file mode 100644 index a97e351..0000000 --- a/works/life/algorithm-contest-2/solution/3.cpp +++ /dev/null @@ -1,77 +0,0 @@ -#include <iostream>
-#include <cstdio>
-#include <cstring>
-#include <algorithm>
-#include <vector>
-#include <queue>
-#include <stack>
-#include <set>
-#include <map>
-#include <cmath>
-#include <unordered_map>
-#include <unordered_set>
-#include <string>
-#include <sstream>
-#include <climits>
-#define x first
-#define y second
-#define pub push_back
-#define mp make_pair
-#define ll long long
-using namespace std;
-typedef pair<int, int> PII;
-
-struct node{
- int x, y;
- node(){}
- node(int _x = 0,int _y = 0): x(_x), y(_y){}
-};
-
-int dir[4][2] = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};
-int n;
-vector<string> graph;
-vector<vector<int>> vis;
-
-int solve() {
- queue<node> Q;
- for(int i = 0;i < n;++i){
- for(int j = 0;j < n;++j){
- if(graph[i][j] == '#') Q.push(node(i,j));
- vis[i][j] = 0;
- }
- }
-
- if(Q.size() == n * n || Q.empty()) return -1;
-
- int dis = 0;
- while(!Q.empty()){
- int size = Q.size();
- while(size-- > 0){
- node cur = Q.front();
- Q.pop();
- for(int i = 0;i < 4;i++){
- int nextX = cur.x + dir[i][0];
- int nextY = cur.y + dir[i][1];
- if(nextX > -1 && nextX < n && nextY > -1 && nextY < n && graph[nextX][nextY] == '.' && !vis[nextX][nextY]){
- vis[nextX][nextY] = 1;
- Q.push(node(nextX,nextY));
- }
- }
- }
- if(!Q.empty()) dis += 1;
- }
- return dis;
-}
-
-int main(void) {
- cin >> n;
- string line;
- vis.resize(n + 1, vector<int>(n + 1));
- for (int i = 0; i < n; i++) {
- cin >> line;
- graph.push_back(line);
- }
-
- cout << solve();
- return 0;
-}
\ No newline at end of file diff --git a/works/life/algorithm-contest-2/solution/4.cpp b/works/life/algorithm-contest-2/solution/4.cpp deleted file mode 100644 index 93c9190..0000000 --- a/works/life/algorithm-contest-2/solution/4.cpp +++ /dev/null @@ -1,48 +0,0 @@ -#define _CRT_SECURE_NO_WARNINGS
-#include <iostream>
-#include <cstdio>
-#include <cstring>
-#include <algorithm>
-#include <vector>
-#include <set>
-#include <map>
-#include <cmath>
-#include <unordered_map>
-#define x first
-#define y second
-#define pub push_back
-#define MP make_pair
-#define LL long long
-using namespace std;
-typedef pair<int, int> PII;
-
-const int MAXN = 1e5 + 5;
-int n, k, h[MAXN], w[MAXN];
-
-bool check(int m) {
- if (m == 0) return true;
- int cnt = 0;
- for (int i = 0; i < n; i++) {
- cnt += (h[i] / m) * (w[i] / m);
- }
- return cnt >= k;
-}
-
-int main(void) {
- cin >> n >> k;
- int mx = 0;
- for (int i = 0; i < n; i++) {
- scanf("%d", &h[i]);
- scanf("%d", &w[i]);
- mx = max(mx, max(h[i], w[i]));
- }
-
- int l = 0, r = mx;
- while (l < r) {
- int m = (l + r + 1) >> 1;
- if (check(m)) l = m;
- else r = m - 1;
- }
- cout << r;
- return 0;
-}
\ No newline at end of file diff --git a/works/life/algorithm-contest-2/solution/5-bf.cpp b/works/life/algorithm-contest-2/solution/5-bf.cpp deleted file mode 100644 index f197e6b..0000000 --- a/works/life/algorithm-contest-2/solution/5-bf.cpp +++ /dev/null @@ -1,34 +0,0 @@ -#include <iostream>
-
-int batteries[1000];
-
-int main(void) {
- int N, K;
- std::cin >> N >> K;
- for (int i = 0; i < N; i++)
- std::cin >> batteries[i];
-
- int max = 0;
- int max_index[4];
-
- for (int i = 0; i < N; i++) {
- for (int j = i + 1; j < N; j++) {
- for (int k = j + 1; k < N; k++) {
- for (int l = k + 1; l < N; l++) {
- int sum = batteries[i] + batteries[j] + batteries[k] + batteries[l];
- if (sum % K == 0 && sum > max) {
- max = sum;
- max_index[0] = i;
- max_index[1] = j;
- max_index[2] = k;
- max_index[3] = l;
- }
- }
- }
- }
- }
-
- std::cout << max;
-
- return 0;
-}
diff --git a/works/life/algorithm-contest-2/solution/5.cpp b/works/life/algorithm-contest-2/solution/5.cpp deleted file mode 100644 index b668f95..0000000 --- a/works/life/algorithm-contest-2/solution/5.cpp +++ /dev/null @@ -1,49 +0,0 @@ -#include <iostream>
-#include <cstdio>
-#include <cstring>
-#include <algorithm>
-#include <vector>
-#include <queue>
-#include <stack>
-#include <set>
-#include <map>
-#include <cmath>
-#include <unordered_map>
-#include <unordered_set>
-#include <string>
-#include <sstream>
-#include <climits>
-#define x first
-#define y second
-#define pub push_back
-#define mp make_pair
-#define ll long long
-using namespace std;
-typedef pair<int, int> PII;
-
-int dp[1005][5][1005];
-int n, K, a[1005];
-
-int main(void) {
- // freopen("3.in", "r", stdin);
- cin >> n >> K;
- for (int i = 1; i <= n; i++) cin >> a[i];
-
- for (int i = 0; i < 1005; i++)
- for (int j = 0; j < 4; j++)
- for (int k = 0; k < 1005; k++)
- dp[i][j][k] = INT_MIN;
-
- dp[0][0][0] = 0;
-
- for (int i = 1; i <= n; i++)
- for (int j = 0; j <= 4; j++)
- for (int k = 0; k < K; k++) {
- if (j == 0) dp[i][j][k] = dp[i - 1][j][k];
- else dp[i][j][k] = max(dp[i - 1][j][k], dp[i - 1][j - 1][((k - a[i]) % K + K) % K] + a[i]);
- }
-
-
- cout << dp[n][4][0];
- return 0;
-}
\ No newline at end of file |