(交互题真神奇,,,我自己瞎写了一发目测样例都没过去就AC了。。。)

(只出了两题的竟然没掉下蓝名真是可怕)

A:我的代码太不美观了,放个同学的(因为我是c++63分的蒟蒻所以根本不知道那些函数怎么用只能手写被hack)

这个题本身不难,坑点太多了,很囍的是我在2:13分的时候被hack了,,GG

  

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<climits>
#include<vector>
#include<set>
#include<cmath>
#include<queue>
#include<algorithm>
using namespace std;
int n,m;
signed main() {cin>>n>>m;if (n > m + 1) return puts("NO"), 0;std::string s, t; std::cin >> s >> t;int star = 0;for (auto i : s) if (i == '*') star = 1;if (!star && s != t) return puts("NO");std::string pre = s.substr(0, s.find('*')), suf = s.substr(s.find('*') + 1);int pres = pre.size(), sufs = suf.size();if (t.substr(0, pres) == pre && t.substr(m - sufs) == suf) puts("YES");else puts("NO");
}

B:自认非常优雅

  

 1 #include <bits/stdc++.h>
 2 typedef long long ll;
 3 using namespace std;
 4 ll n,k;
 5 int main(){
 6     scanf("%lld%lld",&n,&k);
 7     ll ans = 0;
 8     if(k>n){
 9         ll tmp = k-n;
10         ans = (n-tmp+1)/2;
11     } else{
12         ll tmp = k-1;
13         ans = (tmp-1+1)/2;
14     }
15     ans =ans>0?ans:0;
16     printf("%lld\n",ans);
17 }

C:

  太困了又刚补了几话狐妖又吸了冰毒 喝了冷藏的维他柠檬茶 导致一开始的思路是错的,,,还wa了两发。。。其实是个大水题

  

#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
int n,k;
char s[200005];
int main() {scanf("%d%d", &n, &k);scanf("%s", s + 1);k/=2;int cnt = 0,cnt2=0;for(int i=1;i<=n;i++){if(s[i]=='(')cnt++;elsecnt2++;printf("%c",s[i]);if(cnt==k)break;}cnt2 = cnt-cnt2;while (cnt2--){printf(")");}
}

View Code

D:旁边哥们吐槽没读懂题,,其实我也没读懂,我是交了两发wa了之后才勉强猜对的题意,GG

  题意:我语文不好啊

  给你n个数,q次操作,每次操作按照从1到q的顺序 对 任意区间赋值成 那个数,第一次赋值1,第二次赋值2, n个数中为0的数可以自由变成任意数,其他数不能改变, 问 q次操作后能否得到 给定 序列,并输出序列。 自己结合样例好好读读吧,,真的挺难懂的。。

  想了很多骚操作还是直接线段树好。。

  我觉着只要做了这个题代码是非常好懂的,我就不细说了

  

#include <bits/stdc++.h>typedef long long ll;
using namespace std;
const int N = 2e5 + 5;
int n, q;
int a[N], vis[N],l[N],r[N],flag[N];
int minn[4*N];void build(int k, int l, int r) {if (l == r) {minn[k] = a[l];return;}int mid = (l + r) >> 1;build(k << 1, l, mid);build(k << 1 | 1, mid + 1, r);minn[k] = min(minn[k*2],minn[k*2+1]);
}void update(int k, int l, int r) {}int query(int k, int lef, int rig, int l, int r) {if (l <= lef && r >= rig)return minn[k];int mid = (lef + rig) / 2;int ans = 1e9;if (l <= mid)ans = min(ans, query(k * 2, lef, mid, l, r));if (r > mid)ans = min(ans, query(k << 1 | 1, mid + 1, rig, l, r));return ans;
}int main() {scanf("%d%d", &n, &q);for (int i = 1; i <= n; i++)scanf("%d", &a[i]);for (int i = 1; i <= n; i++) {int j = i + 1;while (j <= n && (a[j] == a[i] || a[j] == 0)) {if (a[j] == 0) {a[j] = a[i];flag[j]=1;}j++;}vis[a[i]] = 1;i = j - 1;}int temp = 0;if(a[1]!=0&&!vis[q]){for(int i=1;i<=n;i++){if(flag[i]){a[i]=q;vis[q]=1;break;}}if(!vis[q]) {printf("NO\n");return 0;}}if (a[1] == 0) {if (!vis[q]) {temp = q;} else {for (int i = 1; i <= n; i++) {if (a[i] != 0) {temp = a[i];break;}}}for (int i = 1; i <= n; i++) {if (a[i] == 0)a[i] = temp;}}for(int i=1;i<=n;i++){if(l[a[i]]==0)l[a[i]]=i;r[a[i]]=i;}build(1,1,n);for(int i=1;i<=q;i++){if(l[i]==0)continue;if(query(1,1,n,l[i],r[i])<i){printf("NO\n");return 0;}}printf("YES\n");for(int i=1;i<=n;i++){printf("%d ",a[i]);}
}

View Code

E : 第一次做交互题,,瞎写一发入魂,,(当然不是昨晚上。。。)

  感觉就是个贪心啊,,我也不知道为啥我这么做就是对的

  

#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;
int n;bool ask(int n,int m,int x,int y){cout<<"? "<<n<<" "<<m<<" "<<x<<" "<<y<<endl;string s;cin>>s;return s[0]=='Y';
}
int main(){string ans1="";string ans2="";scanf("%d",&n);int i=1,j=1;int cnt =0;while (i<=n&&j<=n&&++cnt<=(n-1)){if(ask(i,j+1,n,n)){j++;ans1+="R";} else{i++;ans1+="D";}}i=n;j=n;cnt=0;while (i>=1&&j>=1&&++cnt<=n-1){if(ask(1,1,i-1,j)){i--;ans2+="D";} else{j--;ans2+="R";}}reverse(ans2.begin(),ans2.end());printf("! ");cout<<ans1<<ans2;
}

View Code

讲道理这套题要是放到我状态很好的时候我真有可能5题。。。当然很好这种东西一般不存在。。

我昨晚就出了BC两道题。。。惊了。。。

有个可怜的计科老兄被查重误判skip了。。。我也是第一次听说这种操作。。。

两题竟然还是蓝名,惊了。。。

今中午要好好睡午觉!!!md4点睡的八点多就起来来实验室补题结果没开门。。。(笔记本被我折磨了5个多小时gg了,,没带电源回去)

今晚edu可别再掉了,,,根据我的经验我现在已经达到极小点要开始反弹上紫了(雾

扩了一波学长的好友现在有将近十个好友注册了很开森QwQ

  

转载于:https://www.cnblogs.com/MXang/p/9496653.html

Codeforces Round 504相关推荐

  1. Codeforces Round #504 E. Down or Right

    Codeforces Round #504 E. Down or Right 题目描述:交互题. 有一个\(n \times n\)的方阵,有一些格子是障碍,从\((1, 1)\)出发,只能向右向下走 ...

  2. Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)切题报告(A-B题)

    这是我第二次参加CF比赛,也是第一次写博客,写得不好,望各位大佬海涵. A. Single Wildcard Pattern Matching 原题链接 这道题,这是难到让人无法直视,太水了. 题目大 ...

  3. Codeforces Round #504 E - Down or Right 交互题

    1023E 题意: 交互题.在一个有障碍地图中,问如何走才能从(1,1)走到(n,n),只能向右或者向左走.每次询问两个点,回复你这两个点能不能走通. 思路: 只用最多2*n-2次询问.从(1,1), ...

  4. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  5. Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈)

    Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈) 标签: codeforces 2017-06-02 11:41 29人阅读 ...

  6. Codeforces Round #563 (Div. 2)/CF1174

    Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...

  7. Codeforces Round #270

    Codeforces Round #270 题目链接 A:我是筛了下素数.事实上偶数仅仅要输出4和x - 4,奇数输出9和x - 9就可以 B:贪心的策略,把时间排序后.取每k个的位置 C:贪心.每次 ...

  8. 构造 Codeforces Round #302 (Div. 2) B Sea and Islands

    题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...

  9. [Educational Codeforces Round 16]A. King Moves

    [Educational Codeforces Round 16]A. King Moves 试题描述 The only king stands on the standard chess board ...

最新文章

  1. JAVA 总结(壹)
  2. Jquery 【select 通过value来寻找对应的项name】
  3. 第三次学JAVA再学不好就吃翔(part116)--同步代码块
  4. oracle oic配置,Oracle数据库 client配置
  5. 调查显示超四成人“讨厌”大数据
  6. 舒服的网页登录界面设计灵感
  7. hystrix 源码 线程池隔离_“池”的思想:从java线程池到数据库连接池的源码解读(1)...
  8. qoq是什么意思的缩写_有意思,“TTFN”居然是“再见”的缩写词,具体是指什么呢?...
  9. atitit.vod search doc.doc 点播系统搜索功能设计文档
  10. 精品谷歌浏览器chrome插件大汇总!值得收藏
  11. 奇迹单机版服务器修改,大天使之剑奇迹网页游戏 一键服务端单机版/架设教程/修改方法...
  12. 2021-05-20
  13. 【python】列表元素统计
  14. Oracle:Locked by transaction: console [表名]
  15. NetSuite 设置库存盘点
  16. html都有哪些事件,HTML有哪些事件属性?
  17. Android12,SCHEDULE_EXACT_ALARM权限检查值一直返回true
  18. 需要了解的常用Webpack插件配置-loader加载器
  19. 风机疲劳载荷谱转SACS疲劳载荷定义文件
  20. 《人月神话》第十一弹

热门文章

  1. IBM Storwize V7000 Introduction(1)
  2. XCode 6 制作framework
  3. F5定时切换维护页面
  4. 晨紫华(帮别人名字作诗)
  5. MySQL动态行转列
  6. 人一生中最大的遗憾应该是什么
  7. Linux游戏0 A.D.操作说明(持续更新中)
  8. spark和hadoop升级记录(持续更新中)
  9. win7-64安裝virtualpc
  10. ubuntu右键打开终端(Open Terminal Here)失效