2013年江西理工大学C语言程序设计竞赛(高级组)
A
解法:dfs搜索,注意一个剪枝,否则会超时(听说原本是个dp)?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #include<stdio.h> //#include<bits/stdc++.h> #include<string.h> #include<iostream> #include<math.h> #include<sstream> #include<set> #include<queue> //#include<map> #include<vector> #include<algorithm> #include<limits.h> #define inf 0x3fffffff #define INF 0x3f3f3f3f #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 #define LL long long #define ULL unsigned long long using namespace std; int n,m,k,MIN; int v,u,w; int i,j; int map[1100][1100]; void dfs( int s, int num, int sum) { if (s==n) { MIN=min(sum,MIN); return ; } if (num==k) return ; for ( int i=1;i<=n;i++) { if (map[s][i]!=-1&&sum+map[s][i]<=MIN) dfs(i,num+1,sum+map[s][i]); } } int main() { while (~ scanf ( "%d%d%d" ,&n,&m,&k)) { if (n+m+k==0) break ; memset (map,-1, sizeof (map)); for (i=0;i<m;i++) { cin>>u>>v>>w; map[u][v]=map[v][u]=w; } MIN=inf; dfs(1,0,0); if (MIN==inf) { puts ( "CONTINUE LOL!" ); } else { printf ( "%d\n" ,MIN); } } return 0; } |
B
解法:模拟,移动数组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include <stdio.h> int main() { int n,q; int a[100]; while (~ scanf ( "%d%d" ,&n,&q)&&(n+q)) { int xi; int c=1; for ( int i=1;i<=n;i++) { a[i-1]=c; c++; } while (q--) { scanf ( "%d" ,&xi); int b=a[xi-1]; for ( int i=xi-1;i>=0;i--) { a[i]=a[i-1]; } a[0]=b; } for ( int i=0;i<n;i++) { printf ( "%d " ,a[i]); } printf ( "\n" ); } return 0; } |
C
解法:字符串匹配
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include<stdio.h> #include<string.h> int main() { char a[100000]; char b[100000]; int n; while ( scanf ( "%d" ,&n)!=EOF) { while (n--) { scanf ( "%s%s" ,a,b); if ( strstr (b,a)!=NULL) printf ( "YES\n" ); else printf ( "NO\n" ); } } } |
D
解法:链接:http://blog.csdn.net/ramay7/article/details/50328357
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> int main() { //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); long long u, d, ans, cases = 0,t; while (~ scanf ( "%lld%lld" , &u, &d)) { if (u==0&&d==0) break ; ans = 0; while (d) { ans += u / d; t = u%d; u = d; d = t; } printf ( "%lld\n" , ans); } return 0; } |
E
解法:链接http://acm.hdu.edu.cn/showproblem.php?pid=1205
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include <stdio.h> int a[1000100]; int main() { int i,n,t,max; int sum; scanf ( "%d" ,&t); while (t--) { sum=0; scanf ( "%d" ,&n); max=-1; for (i=0;i<n;i++) { scanf ( "%d" ,&a[i]); sum+=a[i]; if (a[i]>max) max=a[i]; } // printf("%d %d\n",Max,sum); sum=sum-max+1; if (sum>=max) printf ( "Yes\n" ); else printf ( "No\n" ); } return 0; } |
F
解法:模拟
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #include <iostream> #include<stdio.h> using namespace std; typedef struct stdust { char name[100]; int score; } hehe; int main () { int n,x,i,sum,zhang,d; cin>>x; { while (x--) { cin >> n; sum=0; zhang=0; hehe stdust[n]; for ( int i=0; i<n; i++) cin >> stdust[i].name >> stdust[i].score; for ( int i=0; i<n; i++) { if (stdust[i].score<=40) sum+=1; if (stdust[i].score>40) { if (stdust[i].score%40==0) d=stdust[i].score/40; else d=stdust[i].score/40+1; sum+=d; zhang+=3; } } cout<<sum<< " " <<zhang<<endl; } } } |
G
解法:没有什么好说的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include<stdio.h> int main() { int n,a,sum; while ( scanf ( "%d" ,&n),n) { sum=0; while (n--) { scanf ( "%d" ,&a); sum+=a; } printf ( "%d\n" ,sum); } return 0; } |
H
解法:暂无(记忆化搜索??)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~