200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 哔哩哔哩 秋招编程题合集

哔哩哔哩 秋招编程题合集

时间:2024-05-30 07:51:30

相关推荐

哔哩哔哩 秋招编程题合集

1/14 [编程题]扭蛋机

#include<bits/stdc++.h>using namespace std;#define line cout << "-----------" << endl;typedef long long ll;const int maxn = 2e5 + 10;const int MAXN = 1e6 + 10;const int N = ;int n;int a[maxn];int main(){scanf("%d", &n);int cnt = 0;while(n){if(n%2 == 1){a[cnt++] = 2;n = (n-1) / 2;}else{a[cnt++] = 3;n = (n-2) / 2;}}for(int i = cnt-1; i >= 0; i--){printf("%d", a[i]);}return 0;}

2/14[编程题]脸滚键盘

#include<bits/stdc++.h>using namespace std;#define line cout << "-----------" << endl;typedef long long ll;const int maxn = 2e5 + 10;const int MAXN = 1e6 + 10;const int N = ;struct node{char c;int id;int cnt;};bool cmp(node a, node b){return a.id < b.id;}int main(){int k;while(scanf("%d", &k) != EOF){getchar();char s[maxn];gets(s);int len = strlen(s);map<char, node> mp;int id = 0;for(int i = 0; i < len; i++){if(mp[s[i]].cnt == 0) mp[s[i]].id = id++;mp[s[i]].c = s[i];mp[s[i]].cnt++;}map<char, node>::iterator it;node p[maxn];int cnt = 0;for(it = mp.begin(); it != mp.end(); it++){if(it->t == 1){p[cnt].c = it->first;p[cnt].cnt = 1;p[cnt++].id = it->second.id;}//printf("%c %d %d\n", it->first, it->second.id, it->t);}sort(p, p+cnt, cmp);if(cnt < k) printf("Myon~\n");else printf("[%c]\n", p[k-1].c);mp.clear();}return 0;}/*2 misakamikotodaisuki3 !bakabaka~ bakabaka~ 1~2~9!3 3.1415926535897932384626433832795028841971693993751o582097494459211451488946419191919l91919hmmhmmahhhhhhhhhh7 /av1700011 111*/

3/14 简单表达式计算

while(line = readline()){if(line!="END"){print(eval(line)); }}

4/14 小A最多会新认识的多少人

#include<bits/stdc++.h>using namespace std;#define clr(a) memset(a, 0, sizeof(a))#define line cout<<"-----------"<<endltypedef long long ll;const int maxn = 2e5 + 10;const int MAXN = 1e6 + 10;int pre[maxn];int n, id, t;int Find(int x){if(x == pre[x]) return x;else return pre[x] = Find(pre[x]);}int main(){int num = 0;scanf("%d%d%d", &n, &id, &t);for(int i = 0; i <= n; i++)pre[i] = i;while(t--){int u, v;scanf("%d,%d", &u, &v);if(u == id || v == id) num ++;int fu = Find(u);int fv = Find(v);if(fu != fv){pre[fu] = fv;}}int fa = Find(id);int ans = 0;for(int i = 0; i < n; i++){if(Find(i) == Find(fa)) ans++;}cout << ans-num-1 << endl;return 0;}

[编程题]山寨金闪闪

#include<bits/stdc++.h>using namespace std;#define clr(a) memset(a, 0, sizeof(a))#define line cout<<"-----------"<<endltypedef long long ll;const int maxn = 2e5 + 10;const int MAXN = 1e7 + 10;int n, m;int a[MAXN];int main(){clr(a);scanf("%d", &n);for(int i = 1; i <= n; i++){scanf("%d", &a[i]);}scanf("%d", &m);int cnt = 0;while(m--){int l, r;scanf("%d%d", &l, &r);if(r-l+1 >= 47) cnt++;else if(r-l+1 < 3) continue;else{ vector<int>ve;for(int i = l; i <= r; i++)ve.push_back(a[i]);sort(ve.begin(), ve.end());for(int i = 0; i < ve.size()-2; i++){if(ve[i] + ve[i+1] > ve[i+2]){cnt++;break;}}}}printf("%d\n", cnt);return 0;}

[编程题]比较两个版本字符串version1和version2

#include<bits/stdc++.h>using namespace std;#define clr(a) memset(a, 0, sizeof(a))#define line cout<<"-----------"<<endltypedef long long ll;const int maxn = 2e5 + 10;const int MAXN = 1e7 + 10;char a[maxn], b[maxn];int na[maxn], nb[maxn];int main(){scanf("%s %s", a, b);int la = strlen(a);int lb = strlen(b);int x = 0, cnta = 0, cntb = 0;for(int i = 0; i < la; i++){if(a[i] =='.'){na[cnta++] = x;x = 0;}else {x = x * 10 + (a[i] - '0');}}na[cnta++] = x;x = 0;for(int i = 0; i < lb; i++){if(b[i] =='.'){nb[cntb++] = x;x = 0;}else {x = x * 10 + (b[i] - '0');}}nb[cntb++] = x;x = 0;for(int i = 0; i < max(cnta, cntb); i++){if(na[i] == nb[i]) continue;else if(na[i] > nb[i]){printf("1\n");return 0;}else {printf("-1\n");return 0;}}printf("0\n");return 0;}

[编程题]精灵鼠从入口到出口的最少减少速度

#include<bits/stdc++.h>using namespace std;#define clr(a) memset(a, 0, sizeof(a))#define line cout<<"-----------"<<endltypedef long long ll;const int maxn = 2e5 + 10;const int MAXN = 1e6 + 10;const int N = 10000 + 10;int mp[N][N], dp[N][N];int n;int main(){scanf("%d", &n);for(int i = 1; i <= n; i++){for(int j = 1; j < n; j++){scanf("%d,", &mp[i][j]);dp[i][j] = mp[i][j];}scanf("%d", &mp[i][n]);dp[i][n] = mp[i][n];}for(int i = 1; i <= n; i++){dp[i][1] = dp[i-1][1] + mp[i][1];dp[1][i] = dp[1][i-1] + mp[1][i];}for(int i = 2; i <= n; i++){for(int j = 2; j <= n; j++){dp[i][j] = min(dp[i-1][j], dp[i][j-1]) + mp[i][j];}}/*for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++){printf("%d ", dp[i][j]);}cout << endl;}*/printf("%d\n", dp[n][n]);return 0;}/*35,5,76,7,82,2,4*/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。