热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:第二届全国中医药院校程序设计竞赛

篇首语:本文由编程笔记#小编为大家整理,主要介绍了第二届全国中医药院校程序设计竞赛相关的知识,希望对你有一定的参考价值。 Problem  A篮球队选拔排序 Problem&nbs

篇首语:本文由编程笔记#小编为大家整理,主要介绍了第二届全国中医药院校程序设计竞赛相关的知识,希望对你有一定的参考价值。
























































Problem  A篮球队选拔排序 
Problem  B不存在的泳池水题
Problem  C调酒壶里的酸奶深搜
Problem  D过分的谜题模拟
Problem  E小C的数学问题单调栈 
Problem  Ffps游戏数学题
Problem  G闪闪发光水题 
Problem  H流连人间的苏苏水题 
Problem  I奔赴云南水题 
Problem  JTCMPC进阶之路水题 

 


技术图片技术图片

1 #include
2 using namespace std;
3 typedef long long ll;
4 const int maxn = 200005;
5 int a[maxn], b[maxn], c[maxn];
6 int main() {
7 int t; scanf("%d",&t);
8 while (t--) {
9 int n; scanf("%d",&n);
10 for (int i = 1; i <= 2*n; i++) scanf("%d",&a[i]);
11 for (int i = 1; i <= 2*n; i++) scanf("%d",&b[i]);
12 for (int i = 1; i <= 2*n; i++) c[i] = a[i]+b[i];
13 sort(c+1,c+1+2*n);
14 if (c[n] 1]) printf("Cheat
");
15 else printf("Fail
");
16 }
17 return 0;
18 }


Problem A 篮球队选拔

 


技术图片技术图片

1 #include
2 using namespace std;
3 int main() {
4 int a, b;
5 while (~scanf("%d%d",&a,&b)) {
6 int a2, a3, b2, b3, tmp;
7 a2 = a3 = b2 = b3 = 0;
8 tmp = a;
9 while (tmp % 2 == 0) tmp /= 2, a2++;
10 tmp = a;
11 while (tmp % 3 == 0) tmp /= 3, a3++;
12 tmp = b;
13 while (tmp % 2 == 0) tmp /= 2, b2++;
14 tmp = b;
15 while (tmp % 3 == 0) tmp /= 3, b3++;
16 if (a2 > b2)
17 for (int i = 1; i <= a2-b2; i++) a /= 2;
18 else if (b2 > a2)
19 for (int i = 1; i <= b2-a2; i++) b /= 2;
20 if (a3 > b3)
21 for (int i = 1; i <= a3-b3; i++) a /= 3;
22 else if (b3 > a3)
23 for (int i = 1; i <= b3-a3; i++) b /= 3;
24 if (a != b) puts("-1");
25 else printf("%d
",abs(a2-b2)+abs(a3-b3));
26 }
27 return 0;
28 }


Problem B 不存在的泳池

 


技术图片技术图片

1 #include
2 using namespace std;
3 int a, b, c, ans;
4 const int inf = 0x3f3f3f3f;
5 bool vis[105][105];
6 void dfs(int na, int nb, int cur) {
7 if (vis[na][nb]) return;
8 if (cur > ans) return;
9 if (na == c || nb == c) {
10 ans = min(ans,cur);
11 return;
12 }
13 vis[na][nb] = true;
14 dfs(a,nb,cur+1);
15 dfs(na,b,cur+1);
16 dfs(0,nb,cur+1);
17 dfs(na,0,cur+1);
18 dfs(max(0,na-(b-nb)),min(b,na+nb),cur+1);
19 dfs(min(a,nb+na),max(0,nb-(a-na)),cur+1);
20 vis[na][nb] = false;
21 }
22 int main() {
23 while (scanf("%d%d%d",&a,&b,&c) != EOF) {
24 if (c%__gcd(a,b) != 0) {
25 puts("impossible");
26 continue;
27 }
28 memset(vis,0,sizeof(vis));
29 ans = inf;
30 dfs(0,0,0);
31 printf("%d
",ans);
32 }
33 return 0;
34 }


Problem C 调酒壶里的酸奶

 


技术图片技术图片

1 #include
2 using namespace std;
3 int a[10005];
4 void get(int n) {
5 int pos = 1; pos += 1;
6 int ans = 1;
7 while (pos != 1) {
8 if (pos <= n) pos += pos, ans++;
9 else pos -= 2*n-pos+1, ans++;
10 }
11 a[n] = ans;
12 }
13 int main() {
14 for (int i = 1; i <= 10000; i++)
15 get(i);
16 int n;
17 while (scanf("%d",&n) != EOF) {
18 printf("%d
",a[n]);
19 }
20 return 0;
21 }


Problem D 过分的谜题

 


技术图片技术图片

1 #include
2 using namespace std;
3 typedef long long ll;
4 const int maxn = 1e5+5;
5 ll a[maxn], sum[maxn];
6 int L[maxn], R[maxn];
7 int main() {
8 int n; scanf("%d",&n);
9 for (int i = 1; i <= n; i++) {
10 scanf("%lld",&a[i]);
11 sum[i] = sum[i-1]+a[i];
12 }
13 for (int i = 1; i <= n; i++) {
14 int l = i;
15 while (a[i] <= a[l-1] && l > 1) l = L[l-1];
16 L[i] = l;
17 }
18 for (int i = n; i >= 1; i--) {
19 int r = i;
20 while (a[i] <= a[r+1] && r 1];
21 R[i] = r;
22 }
23 ll ans = -1;
24 int l, r;
25 for (int i = 1; i <= n; i++) {
26 ll val = (sum[R[i]]-sum[L[i]-1])*a[i];
27 if (ans < val) {
28 ans = val;
29 l = L[i];
30 r = R[i];
31 }
32 }
33 printf("%lld
",ans);
34 printf("%d %d
",l,r);
35 return 0;
36 }


Problem E 小C的数学问题

 


技术图片技术图片

1 #include
2 using namespace std;
3 const double pi = acos(-1);
4 int main() {
5 int d, r, c; double a;
6 scanf("%d%d%d%lf",&d,&r,&c,&a);
7 double v = atan(1.0*r/d)*180/pi;
8 int num = v/a + 1;
9 cout <0,c-num) << endl;
10 return 0;
11 }


Problem F fps游戏

 


技术图片技术图片

1 #include
2 using namespace std;
3 typedef long long ll;
4 const int maxn = 1e6+1000;
5 ll a[maxn];
6 int main() {
7 int n;
8 while (cin >> n) {
9 memset(a,0,sizeof(a));
10 for (int i = 1; i <= n; i++) {
11 int x; scanf("%d",&x);
12 a[x]++;
13 }
14 ll ans = 0;
15 for (int i = 0; i <= 1000500; i++) {
16 a[i+1] += a[i]/2;
17 if (a[i] % 2 == 1) ans++;
18 }
19 printf("%lld
",ans);
20 }
21 return 0;
22 }


Problem G 闪闪发光

 


技术图片技术图片

1 #include
2 using namespace std;
3 typedef long long ll;
4 const int maxn = 1010;
5 int n, d;
6 bool tree[maxn];
7 void print() {
8 int l = 0;
9 vector<int> L, R;
10 for (int i = 1; i <= n+5; i++) {
11 if (tree[i] && l == 0) l = i;
12 if (!tree[i] && l != 0) {
13 L.push_back(l);
14 R.push_back(i-1);
15 l = 0;
16 }
17 }
18 printf("[%d,%d]",L[0],R[0]);
19 for (int i = 1; i )
20 printf(",[%d,%d]",L[i],R[i]);
21 printf("
");
22 }
23 int main() {
24 scanf("%d%d",&n,&d);
25 while (d--) {
26 int l, r; scanf("%d%d",&l,&r);
27 for (int i = l; i <= r; i++) tree[i] = true;
28 print();
29 }
30 return 0;
31 }


Problem H 流连人间的苏苏

 


技术图片技术图片

1 #include
2 using namespace std;
3 int main() {
4 string s; int t1, t2;
5 while (cin >> s >> t1 >> t2) {
6 t1 = t1/100*60 + t1%100;
7 t2 = t2/100*60 + t2%100;
8 printf("%s to Kunming: %02d:%02d
",s.c_str(),(t2-t1)/60,(t2-t1)%60);
9 }
10 return 0;
11 }


Problem I 奔赴云南

 


技术图片技术图片

1 #include
2 using namespace std;
3 int main() {
4 int t; scanf("%d",&t);
5 while (t--) {
6 int n; scanf("%d",&n);
7 printf("%d
",n*(n+1)/2);
8 }
9 return 0;
10 }


Problem J TCMPC进阶之路

 


推荐阅读
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • 开发笔记:实验7的文件读写操作
    本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ... [详细]
  • 李逍遥寻找仙药的迷阵之旅
    本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ... [详细]
  • 电话号码的字母组合解题思路和代码示例
    本文介绍了力扣题目《电话号码的字母组合》的解题思路和代码示例。通过使用哈希表和递归求解的方法,可以将给定的电话号码转换为对应的字母组合。详细的解题思路和代码示例可以帮助读者更好地理解和实现该题目。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 重入锁(ReentrantLock)学习及实现原理
    本文介绍了重入锁(ReentrantLock)的学习及实现原理。在学习synchronized的基础上,重入锁提供了更多的灵活性和功能。文章详细介绍了重入锁的特性、使用方法和实现原理,并提供了类图和测试代码供读者参考。重入锁支持重入和公平与非公平两种实现方式,通过对比和分析,读者可以更好地理解和应用重入锁。 ... [详细]
author-avatar
平凡特产小店
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有