EOJ Monthly 2018.1
985月赛,当时鸽了,现在想补一补
Time limit per test: 1.0 seconds
Memory limit: 256 megabytes
现在有一种石头剪刀布锦标赛。采取 100 局胜负制。对战 100 局,扣掉平局,谁赢得多谁就取得最终的胜利。
zzz 同学天天玩石头剪刀布,从而总结出了一套提高石头剪刀布胜率的方法。这套方法重点在于利用人的心理。石头剪刀布这三者,你可能觉得你是随机选择的,但其实不然。你还是会产生一定的偏向性。在若干局游戏后,有的人出石头的频数会高,有的人出布的频数会高,还有的人出剪刀的频数会高。
这点差异其实微乎其微,但却能成为决定胜负的关键。zzz 同学也就是靠着这微乎其微的差异,拿到了石头剪刀布世界冠军,攀上人生巅峰。
作为 zzz 同学的室友,你对 zzz 同学出石头剪刀布的套路掌握得一清二楚。具体如下:
- 他会根据对方之前已经出过的石头次数、剪刀次数、布次数,来决定最不利于对方的。比如对方剪刀最多,他一定会出石头;对方布最多,他一定会出剪刀;对方石头最多,他一定会出布。
- 在比赛开始前,他会给石头剪刀布各分配一个优先级,分别为 p,q,r。如果存在两个一样多,或三个一样多,或者一个都没出过(刚开局),那么他会优先选择优先级高的。比如说对方出过的剪刀和布一样多,石头就比较少,那么他接下来的选择一定在石头和剪刀之间。如果石头的优先级为 3,剪刀的优先级为 2,那么他就会优先选择石头。
zzz 同学是很死板的,他肯定不会违背这套策略。也就是说,一旦你搞到了他即将参加的比赛的优先级 p,q,r,你基本已经赢了,甚至连这 100 局每局是输是赢都想好了。
于是你膨胀了。你要去挑战世界冠军 zzz。
Input
有且仅有一行,三个整数 p,q,r ({p,q,r}={1,2,3}),用空格隔开。
不会有两个相同的测试点。
Output
输出 100 行,每行一个整数,依次为这 100 局你的选择。
石头输出 1,剪刀输出 2,布输出 3。
Note
此题无样例。
100局,扣去平局,你只要赢他的比输给他的多就行了
我本来觉得既然已经分配了,我只要输出一种可以让赢的比输的多,然后就行了,每次克制,我还列了六种情况,其实只分三种喽,那次优先级最高知道就好了
你还是会产生一定的偏向性。在若干局游戏后,有的人出石头的频数会高,有的人出布的频数会高,还有的人出剪刀的频数会高。对方也会根据我们出的出啊,所以要那样想的话只能一次石头剪刀布全出一遍,这样只要确保三轮的一次对战我能保证赢就好了,即使都是平局,最后一次赢就好了,所以每次出一遍啊
#include<bits/stdc++.h> using namespace std; int main() {int p,q,r;cin>>p>>q>>r;int a[4]={0,1,2,3};if(p==3)a[1]=3,a[2]=1,a[3]=2;else if(r==3)a[1]=2,a[2]=3,a[3]=1;for(int i=0;i<33;i++)cout<<a[1]<<"\n"<<a[2]<<"\n"<<a[3]<<"\n";cout<<a[1]<<"\n"; return 0; }
Time limit per test: 1.0 seconds
Memory limit: 256 megabytes
字符串的大,不在于长,而在于妙。
现在给出由数字组成的字符串 s,求出字符串的所有的非空连续子串中,最妙的那个子串。
一个字符串的妙是这样定义的:将这个子串所表示的整数(有可能带前导 0),除以 10L(其中 L 为字符串的长度)。比如说 123456789
的子串 456
的妙为 456103=0.456。
Input
给出一行一个字符串 s (1≤|s|≤20 000)。
Output
输出最妙的那个子串。如果有多个,输出最短的那个。如果最短的最妙的子串也有多个,输出字典序最小的那个。
Examples
123456789
9
321
321
写丑了写丑了,就是一个贪心取字符串而已,找最大的数,输出不包括前导0
#include<bits/stdc++.h> using namespace std; string s,t; void la() {int f=1;for(int i=9; i>0&&f; i--)for(int j=0; s[j]; j++)if(s[j]-'0'==i&&(f||!f&&s.substr(j)>t))t=s.substr(j),f=0; } int main() {cin>>s;int f=1;for(int i=s.length()-1; ~i; i--){if(s[i]!='0'){s=s.substr(0,i+1),f=0;break;}}if(f){cout<<0;return 0;}la();cout<<t; }
Time limit per test: 2.5 seconds
Memory limit: 256 megabytes
xxx 写了一份用 DFS 求有向无环图中顶点 1 到 n 最短路的代码,出乎意料的是这份代码竟然通过了所有测试点。于是你暗地里把出题人骂了一通,然后决定造个数据把这个假算法卡掉。
核心代码如下:
global variable: answer_nowfunction dfs(u, distance_now) if distance_now >= answer_now then return if u == n then answer_now = distance_now return for each u->v in edges dfs(v, dist + 1) function find_shortest_path() answer_now = INFINITY dfs(1, 0) return answer_now
Output
第一行两个数 n,m,分别表示图中点的个数和边的条数。(1≤n≤50,1≤m≤100)
之后 m 行,每行两个数 u,v,表示顶点 u→v 有一条有向边。 (1≤u,v≤n)
要求:
- 存在 1 到 n 的路径。
- 不能有重边。
- 不能有环。
- xxx 的算法会给出错误解或者运行超时(时限是 2 秒)。
Examples
Sample
7 8 6 7 1 2 1 3 2 4 2 5 3 5 4 6 5 6
Note
样例给出了一种可能的输出(不是正确的输出)。
我本来还在想这个方法会不会就是错的,因为会爆栈,但是分析它要看他是否超时
超时就是访问这个节点之后又有了很多节点可以访问,但是有个限制条件,先找到路之后,其他的比他远就不再找了,这样他算法还是能用的
所以你要访问这个点他的dist还要满足继续往下深搜的
所以这样构造就是错的,并不满足dist
void dfs(int u,int no) {//f++;if(no>=ans)return;if(u==50){ans=no;return;}for(auto X:G[u])dfs(X,no+1); }
所以就应该保证最短路的数量足够多,我的能找到最短路啊,所以直接构造这个点可以这个点也可以下个点
#include <bits/stdc++.h> using namespace std; int main() {int i;printf("%d %d\n",50,89);for(i=1; i<=40; i++)printf("%d %d\n%d %d\n",i,i+1,i,i+2);for(;i<50;i++)printf("%d %d\n",i,i+1);return 0; }
转载于:https://www.cnblogs.com/BobHuang/p/8341236.html
EOJ Monthly 2018.1相关推荐
- 华东师范大学2018.11月赛【EOJ Monthly 2018.11】
[EOJ Monthly 2018.11] A. 心与心的距离 Time limit per test: 2.0 seconds Memory limit: 512 MB 近在咫尺,远在天边.心与心的 ...
- EOJ Monthly 2018.11 D. 猜价格
猜价格 分两种情况讨论: k≤n,先猜至多 k 次 1,由于回答 <1 肯定是假的,所以可以把剩余系下是哪次错试出来,然后用至多 n 次搞定. k>n,每个数都猜两次,如果两次结果不一样, ...
- 【EOJ Monthly 2018.10 - B】 莫干山奇遇 (思维构造,数学,数组,贪心)(总结)
题干: Time limit per test: 2.0 seconds Memory limit: 512 megabytes 出题人当然是希望出的题目有关 oxx,于是想方设法给题目配上一些有关 ...
- 【EOJ Monthly 2018.10 - A】oxx 的小姐姐们(模拟,水题,填充矩阵,输出格式有坑)
题干: Time limit per test: 1.0 seconds Memory limit: 512 megabytes oxx 和他的小姐姐(们)躺在图书馆前的大草坪上看星星. 有强迫症的 ...
- EOJ Monthly 2018.12 B. 清点星辰(蒙特卡洛模拟)
B. 清点星辰 单测试点时限: 2.0 秒 内存限制: 512 MB "夜里, 你要抬头仰望满天的星星. 我那颗实在太小了, 我都没法指给你看它在哪儿." 这样倒也好,我的星星,对 ...
- EOJ Monthly 2019.11 E. 数学题(反演 + 杜教筛 + 拉格朗日插值)
EOJ Monthly 2019.11 ∑i=1n∑a1=1i∑a2=1i∑a3=1i⋯∑ak−1i∑aki[gcd(a1,a2,a3,-,ak−1,ak,i)==1]=∑i=1n∑d∣iμ(d)⌊i ...
- EOJ Monthly 2021.1
EOJ Monthly 2021.1 2/6 2021快乐,期末考加油-- B想通了比C简单 C思路没问题但是不知道为什么一直WA19 B - 洪水 B. 洪水 - EOJ Monthly 2021. ...
- EOJ Contest61 2018研究生面试机考(软件工程)个人题解
本人ECNU大一学渣一枚.闲来无事做了EOJ Contest61(EOJ 2018研究生面试机考(软件工程)),发现全是水题,正好练一下刚开始学的C++.然后闲来无事就发个来自菜鸡的题解. A.西班牙 ...
- EOJ Monthly 2019.3 (based on March Selection) -D .宇恒棋
D.宇恒棋 EOJ传送门 Q小方以前不会下宇恒棋,现在他会了,所以他急切的想教会你. 宇恒棋的规则是这样的:在一个 n×m 的棋盘上,QQ小方和你各有一枚棋子.你们轮流行动,每一次轮到一方的回合时,他 ...
最新文章
- C/C++程序从编译到最终生成可执行文件的过程分析
- 【VMware vSAN 6.6】5.8.自动化:vSAN硬件服务器解决方案
- CF505E-Mr. Kitayuta vs. Bamboos【贪心,二分】
- 修改Sublime Text3 的侧边栏字体大小
- Java RandomAccessFile readChar()方法及示例
- [Linux] rpm 与 dpkg 用法比较
- 华为供应链公司已收到华为Mate50手机设计方案
- linux nmap
- 如何查看正在使用端口号并利用任务管理器将其关闭
- [Android Samples视频系列之ApiDemos] App-Activity-Recreate
- Android数据结构与算法(一):基础简介
- python经济统计学论文_统计学论文
- 超燃动态可视化条形图源码及效果图_40行不到的Python代码实现超燃动态排序图...
- 并联 串联 电流电压规律 锂电池串联 并联简介
- Android实例精讲——通过ListView构造微信聊天界面视图
- 009.查找手机电话簿【散列表】
- webfont.woff2和webfont.woff下载超时报404错误
- resume english
- 为Termux安装图形化界面
- 工业相机的曝光方式:全局曝光、卷帘曝光、全局复位释放曝光区别