哈尔滨工程大学第十四届程序设计竞赛(同步赛)
A.ORZZJQ
代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include <bits/stdc++.h> using namespace std; int main() { printf("\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n"); printf("\\\\ \\\\\n"); printf("\\\\ @@ \\\\\n"); printf("\\\\ \\\\\n"); printf("\\\\ /@@@@@\\ \\@@/@@ @@@@@@@@@ @@@@@@@@ @@@@@@@@ @@ @@@@@\\@@ \\\\\n"); printf("\\\\ @@/ \\@@ @@@[ /@@\" @@/ @@/ @@ @@/ \\@@ \\\\\n"); printf("\\\\ @@@ @@@ @@ @@/ /@@\" /@@\" @@ @@@ @@ \\\\\n"); printf("\\\\ @@ @@ @@ /@@ @@@ @@@ @@ @@ @@ \\\\\n"); printf("\\\\ @@@ @@@ @@ @@@ /@@ /@@ @@ @@@ @@ \\\\\n"); printf("\\\\ @@@\\]/@@/ @@ @@@@@@@@@ @@@@@@@@@ @@@@@@@@@ @@ @@@@]@@@@ \\\\\n"); printf("\\\\ @@ @@ \\\\\n"); printf("\\\\ @@@ @@ \\\\\n"); printf("\\\\ @@@/ @@ \\\\\n"); printf("\\\\ \\\\\n"); printf("\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n"); return 0; }
D,简单的烦恼
代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include <bits/stdc++.h> using namespace std; const int maxn = 1e5 + 10; int T, N, V; int dp[maxn], a[maxn]; void ZeroOnePack(int cost, int weight) { for(int i = V; i >= cost; i --) dp[i] = max(dp[i], dp[i - cost] + weight); } int main() { scanf("%d", &T); while(T --) { scanf("%d%d", &N, &V); for(int i = 0; i < N; i ++) scanf("%d", &a[i]); sort(a, a + N); memset(dp, 0, sizeof(dp)); for(int i = 0; i < N - 1; i ++) ZeroOnePack(a[i], a[i]); printf("%d\n", dp[V - 1] + a[N - 1]); } return 0; }
H.小蚂蚁过马路
代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include <bits/stdc++.h> using namespace std; int T; int main() { scanf("%d", &T); while(T --) { long long N; int K; scanf("%lld%d", &N, &K); long long minn = 999999999999999; for(int i = 1; i < K; i ++) { long long x; scanf("%lld", &x); if(x < minn) minn = x; } long long a = N / minn; long long b = N % minn; if(b) a ++; printf("%lld\n", K + a - 2); } return 0; }
J.完美手链
代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include <bits/stdc++.h> using namespace std; int T; bool isPrime(int x) { if(x <= 1) return false; if(x == 2) return true; for(int i = 2; i * i <= x; i ++) if(x % i == 0) return false; return true; } string ToString(int x) { if(x == 0) return "0"; string ans = ""; while(x) { ans += x % 10 + '0'; x /= 10; } for(int i = 0; i < ans.size() / 2; i ++) swap(ans[i], ans[ans.size() - i - 1]); return ans; } int main() { scanf("%d", &T); while(T --) { char s[110]; scanf("%s", s); int len = strlen(s); bool flag = true; if(len == 1 && s[0] == '1' || len == 1 && s[0] == '0') flag = false; else if(strcmp(s, "2") == 0) flag = true; else { for(int i = 0; s[i]; i ++) { if(!flag) break; int sum = 0; for(int j = i; j < len + i; j ++) sum = sum * 10 + (s[j % len] - '0'); for(int t = 2; t * t <= sum; t ++) { if(sum % t == 0) { flag = false; break; } } } } if(flag) printf("Perfect!\n"); else printf("Imperfect.\n"); } return 0; }
N.苹果项链
代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include <bits/stdc++.h> using namespace std; const int maxn = 1010; int T, N; struct Node { int id; int wei; }silver[maxn], gold[maxn]; bool cmp(const Node &a, const Node &b) { return a.wei > b.wei; } int main() { scanf("%d", &T); while(T --) { scanf("%d", &N); for(int i = 1; i <= N; i ++) { scanf("%d", &gold[i].wei); gold[i].id = i; } for(int i = 1; i <= N; i ++) { scanf("%d", &silver[i].wei); silver[i].id = i; } sort(gold + 1, gold + 1 + N, cmp); sort(silver + 1, silver + 1 + N, cmp); vector<int> ans; for(int i = 1; i <= N; i ++) { ans.push_back(gold[i].id); ans.push_back(silver[i].id); } for(int i = 0; i < ans.size(); i ++) printf("%d%s", ans[i], i != ans.size() - 1 ? " " : "\n"); } return 0; }
五一快乐!省赛过后就没怎么好好写代码 code 不能停啊啊啊啊啊啊