山东省赛打完基本算法比赛就没有可打的了,蓝桥没进国赛,只能留在宿舍看家,随手报了一个山理工的比赛,结果睡醒就只有一个半小时了,随缘A了6道。

A 猜先
Problem Description
小 A 和小 B 最近开始学习下围棋, 小 A 和 小 B 先学的的是围棋礼仪中的猜先。
猜先是一种决定两个人谁拿黑棋,谁拿白棋的一种方法。猜先的方法是这样的:小 B 先去抓一把白子, 然后让小 A 猜,如果小 A 觉得小 B 手中的白子是奇数个,小 A 就拿 1 颗黑子;否则就拿 2 颗黑子。 之后小 B 把手中的白子放在棋盘上,如果小 A 猜对了,小 A 就拿黑棋 ;否则小 A 就拿白棋。

Input
输入两个正整数 a 和 b ( a = 1 或 2,1<=b<=10),其中 a 代表小 A 拿的黑子数,b 代表小 B 拿的白子数。

Output
如果小 A 猜对了,输出“black”,否则输出“white”。(输出不包括引号)

Sample Input
2 8
Sample Output
black
Hint

前面几道都是水题,当拿出的黑子数和B的白子数同奇偶,小A拿黑,否则拿B
AC代码

#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{int a,b;cin>>a>>b;if(a%2==b%2)cout<<"black"<<endl;else cout<<"white"<<endl;return 0;
}

B Digit deletion
Problem Description
给定5个自然数,从中挑选出4个数,并计算它们的和。求出所有挑选方式中和最大以及和最小的情况,并将其输出。

Input
一行,5个小于10000的自然数。

Output
两个数,分别表示最小的和以及最大的和。

Sample Input
1 2 3 4 5
Sample Output
10 14
Hint

继续水题,排序就完事了
AC代码

#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
int num[5];
int main()
{for(int i=0;i<5;i++)cin>>num[i];sort(num,num+5);int mmin=num[0]+num[1]+num[2]+num[3];int mmax=num[4]+num[3]+num[2]+num[1];cout<<mmin<<" "<<mmax<<endl;return 0;
}

C 沉心十年
Problem Description
今年是SDUTACM举办的第十一届校赛啦!
今年校赛的参赛规模也是再创新高!在今天的赛场上与大家同台竞技的,还有50多个来自中小学的小朋友。
十年风雨,我们曾经一起走过。现在让我们脚踏实地,一起奋斗下一个十年!
现在请你使用’SDUTACM’这一个字符串,打印出只属于今天的的专属图形。

Input
一个整数n,代表正方形的规模。(5<=n<=50)

Output
如样例所示的一个字母正方形。

Sample Input
5
Sample Output
SDUTA
C M
S D
U T
ACMSD
Hint
注意正方形的任意两行之间都没有空行。

一道很简单的模拟,注意好字符串到头的时候换回来。还有一点,山理工的出题人莫非喜欢坑人,虽然题目规定了N的限制,但似乎并没有按照这个来,昨天的热身赛就出现了这个状况,不按照题目给的限制才能过,这次也是,不用数组存放而是直接输出就可以过。

AC代码

#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
char Map[55][55];
string str="SDUTACM";
int main()
{int n,k=0;cin>>n;for(int i=0;i<n;i++){if(i==0||i==n-1)for(int j=0;j<n;j++){cout<<str[k];k++;if(k==str.length())k=0;  }else{cout<<str[k];k++;if(k==str.length())k=0;for(int j=1;j<n-1;j++)cout<<" ";cout<<str[k];k++;if(k==str.length())k=0;}cout<<endl;}return 0;
}

E 九连环
不知道大家有没有玩过一个叫做 九连环 的玩具,如下图所示。

如果你不了解九连环,那玄黄就带你领略九连环的奥妙:
九连环是我国传统的民间智力玩具,玩具上面有九个连环套在杆上,目标就是通过一定的方式将九个连环从杆上全部取下来。
玩法是这样的:
1、对每个环,有2种操作:把这个环放到杆上或把这个环从杆上取下
2、你可以随意的对第1个环进行操作
3、如果你想对第i个环(i>1)进行操作,你必须将第i-1个环放在杆上,且必须把前i-2个环从杆上取下

Input
输入一个整数n ( 0<n<10 ),代表杆上面的连环个数。

Output
输出把所有连环取下来的最少操作步骤,每一步占一行,输出一个整数i和操作”UP”或者”DOWN”,代表将第i个环放到杆上或从杆上取下来,整数和操作用空格分开。详情见示例输出。

Sample Input
4
Sample Output
2 DOWN
1 DOWN
4 DOWN
1 UP
2 UP
1 DOWN
3 DOWN
1 UP
2 DOWN
1 DOWN

就是递归,具体操作类似于模拟汉诺塔问题,处理好递归的过程即可。

AC代码

#include<iostream>
#include<stdio.h>
using namespace std;
int shangmian[10];
void xie(int n) {if(n == 1){ printf("%d DOWN\n",n);shangmian[n] = 0; return; }if(shangmian[n - 1] == 0)zhuang(n - 1);for (int i = n - 2; i >= 1; i--)if (shangmian[i] == 1)xie(i);printf("%d DOWN\n",n); shangmian[n] = 0;return;
}void zhuang(int n) {if (n == 1) { printf("%d UP\n", n);shangmian[n] = 1; return; }if (shangmian[n - 1] == 0) zhuang(n - 1); for (int i = n - 2; i >= 1; i--) if (shangmian[i] == 1) xie(i); printf("%d UP\n", n);shangmian[n] = 1;return;
}int  main()
{int n;cin>>n;for (int i = 0; i < 10; i++) shangmian[i] = 1; for (int i = n; i >= 1; i--) xie(i); return 0;
}

J 定向运动
Problem Description
定向运动是一项非常有意思的体育活动。

在本题中,为了简化问题,我们将定向运动描述如下:两人组队,一共有5个不同的项目A,B,C,D,E,在规定时间内,每个人尽可能多的去完成这些项目,完成计1,否则计0。在本题中,我们使用一个5位字符串来定表示个人5个项目的分值。
例如,小明的分数字符串为“11110”,这代表他完成了项目A,B,C,D。两人团队的分值计分方式如下:对于每个项目,只要两人团队有一个人完成此项目,则此项目计1,否则此项目计0。
例如 小明的分数字符串为“11011”,小玉的字符串为”10010”,则最后两人得分为4。现在假设在一次定向运动中,有n个人参加比赛,并且有m个项目,计分方式如上所示。但是,组队的信息未知。
请你计算出在所有可能的2人团队中,最大的得分是多少以及有多少种组合方式可以得到最大得分。

Input
单组输入。
第一行包含两个用空格分开的整数 n, m ,分别代表参加的人数和项目数。
接着有n行,每一行包含一个长度为 m 的字符串。( 2<=n<=50,1<=m<=500)

Output
在第一行,输出所有2人团队可以获得最大得分。
在第二行,输出有多少种组合方式可以获得最大得分。

Sample Input
4 5
10101
11100
11010
00101
Sample Output
5
2

题目估计数据比较水,用暴力DP过了,dp[i][j][k]表示第i个和第j个字符串到第k位为止最大的得分,那么不难得出状态转移方程dp[i][j][k]=dp[i][j][k-1]+max(str[i][k]-‘0’,str[j][k]-‘0’),然后就是暴力,估计打了擦边球,数据量比较小,所以这样暴力还可以过,不然肯定超时。
AC代码

#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<math.h>
#include<set>
using namespace std;
string str[55];
int dp[55][55][505];
int main()
{int n,m;int mmax=-1;int cnt=0;cin>>n>>m;for(int i=1;i<=n;i++)cin>>str[i];for(int i=1;i<=n;i++){for(int j=i+1;j<=n;j++){for(int k=0;k<m;k++)dp[i][j][k]=dp[i][j][k-1]+max(str[i][k]-'0',str[j][k]-'0');if(mmax<dp[i][j][m-1]){mmax=dp[i][j][m-1];cnt=0;}if(mmax==dp[i][j][m-1])cnt++;}}cout<<mmax<<endl;cout<<cnt<<endl;
}

K 矩形的外接圆

现在有一个矩形ABCD,现在请你计算出 这个矩形的外接圆中 没有 被矩形覆盖的部分的面积。
注: π ≈ 3.14159265 或 π = arccos(-1)

Input
输入数据占一行。输入2个整数 a 和 b (0 < b ≤ a ≤ 50),其中 a 表示矩形的长, b 表示矩形的宽。

Output
输出一个浮点数,代表所求区域的面积。输出数据保留3位小数。

Sample Input
1 1
Sample Output
0.571

最后又一道水题,就是简单的初中几何。
AC代码

#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<math.h>
using namespace std;
int main()
{double a,b;cin>>a>>b;double  pi=3.14159265;double ans=pi*(a*a+b*b)/4-a*b;printf("%.3lf\n",ans);return 0;
}

“华为杯”山东理工大学第十一届ACM程序设计竞赛(正式赛)网络同步赛相关推荐

  1. “华为杯”山东理工大学第十一届ACM程序设计竞赛(正式赛)

    猜先 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 小 A 和小 B 最近开始学习下 ...

  2. “华为杯”山东理工大学第十一届ACM程序设计竞赛 E - 九连环

    Problem Description 不知道大家有没有玩过一个叫做 九连环 的玩具,如下图所示. 如果你不了解九连环,那玄黄就带你领略九连环的奥妙:  九连环是我国传统的民间智力玩具,玩具上面有九个 ...

  3. 九连环(“华为杯”山东理工大学第十一届ACM程序设计竞赛(正式赛)网络同步赛)

    Problem Description 不知道大家有没有玩过一个叫做 九连环 的玩具,如下图所示. 如果你不了解九连环,那玄黄就带你领略九连环的奥妙:  九连环是我国传统的民间智力玩具,玩具上面有九个 ...

  4. “师创杯”山东理工大学第九届ACM程序设计竞赛 正式赛 F.校赛~校赛~【思维+规律题】

    校赛~校赛~ Time Limit: 1000MS  Memory Limit: 65536KB Submit  Statistic Problem Description SDUT 的校赛是从 20 ...

  5. “师创杯”山东理工大学第九届ACM程序设计竞赛 正式赛 I.皮卡丘的梦想2【树状数组】水题

    皮卡丘的梦想2 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 一天,一只住在 501 的皮 ...

  6. 师创杯”山东理工大学第九届ACM程序设计竞赛(网络同步赛)--I皮卡丘的梦想2

    作为水题王者前去水了一波山东理工大学的校赛,这道题一个小细节坑了我2个小时,思路其实很简单,就是线段树单点更新的模板,用一个60的数组标记,如果这个区间内有I种类的化石,那么就是1,否则为0,加入新化 ...

  7. “师创杯”山东理工大学第九届ACM程序设计竞赛 热身赛 E.上色的纱雾【二分+贪心】

    上色的纱雾 Time Limit: 1000MS  Memory Limit: 65536KB Submit  Statistic Problem Description 纱雾画画功力首屈一指,现在她 ...

  8. 第十五届北京师范大学程序设计竞赛决赛(网络同步赛) B lca水 D 思维,找规律...

    第十五届北京师范大学程序设计竞赛决赛(网络同步赛) B. Borrow Classroom 题意:一棵树,点 1为根,一个人从点 b到 点 c再到点 1,第二个人从点 a出发,问第二个人能否截住第一个 ...

  9. 华为杯山东理工大学第二届团体程序设计天梯赛

    7-1 12-24小时制 (15 分) 编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间. 输入格式: 输入在一行中给出带有中间的:符号(半角的冒号)的24小时制的时间,如12:3 ...

  10. 科林明伦杯”哈尔滨理工大学第十届程序设计竞赛B(减成1)

    科林明伦杯"哈尔滨理工大学第十届程序设计竞赛 存在n个数,每次操作可以任选一个区间使得区间内的所有数字减一.问最少多少次操作,可以让所有数都变成1. 数据保证一定有解. 输入描述: 输入t, ...

最新文章

  1. SQL Server误区30日谈-Day21-数据损坏可以通过重启SQL Server来修复
  2. 百思不得其解,一个钻石玩家可以短时间上王者?因为猎游?
  3. PIL Image resize 调整大小谜之操作
  4. kill不掉 spark-submit
  5. 功能对等四个原则_强直患者功能锻炼十分重要
  6. qt中生成含有中文的json文件和解析json文件
  7. adb bugreport保存位置_adb 常用命令---日常提升效率
  8. faster rcnn论文_52 个深度学习目标检测模型汇总,论文、源码一应俱全!(附链接)...
  9. 模型人的因素_肺癌风险预测模型中纳入肺功能如何?
  10. jsp网上零食销售网站系统
  11. 面试65个问题教你怎么机智回答面试官及回答技巧
  12. windows10 企业版 ltsc系统的激活
  13. 【LLS-Player】VS构建
  14. 阿里六面(总结他人事迹)
  15. Gameplay框架
  16. 自动生成用于测试和评估自动驾驶汽车的各种挑战性场景
  17. ISIS如何选举DIS的,DIS的具体作用,和OSPF的DR有什么相同和不同点。举例说明
  18. Arduino用遥控器控制LED灯开关和亮度
  19. C++压缩解压开源库ZIP
  20. Linux--shell--4--毫秒级时间戳

热门文章

  1. r语言 支持向量机实现_支持向量机解密:R中的实现
  2. C++ auto类型说明符如for(atuo x : s)
  3. iPhone、iPad屏幕分辨率尺寸对比
  4. 华为鸿蒙内涵,“鸿蒙”两个字有何真意,还得让古人来解读
  5. 随机生成器,从给定列表中随机抽取一个元素
  6. 项目管理的四大模型,PM必须懂!
  7. java绘图-常用条形码类型组成及使用说明
  8. 华为鸿蒙os logo,华为鸿蒙OS Logo曝光:Powered by HarmonyOS
  9. web前端是干嘛的?你了解Web前端开发工程师吗?
  10. latex表格实现换行