2018 BACS Regional Programming Contest F. Football Free Kick(map离散化)
Descripion
Solution
用map维护连续空区间端点。
可以用有三种状态的map维护,也可以用两个只有两种状态的map维护(很麻烦)
Code
map<int,bool>mpl, mpr;
int main(int argc, char const *argv[])
{int t;scanf ("%d",&t);int cas = 0;while (t--){mpl.clear();mpr.clear();int n,k,q;scanf("%d%d%d",&n,&k,&q);mpl[k+1] = true; mpr[n] = true;ll ans = 1;printf ("Case %d:\n",++cas);while(q--) {int x,y;scanf("%d %d",&x,&y);if(x==1) {if(!mpl[x+1]) {ans++;mpl[x] = mpr[x] = true; }else {mpl[x+1] = false;mpl[x] = true;}} else if(x==n) {if(!mpr[x-1]) {ans++;mpl[x] = mpr[x] = true; }else {mpr[x-1] = false;mpr[x] = true;}} else {if(mpl[x+1] && mpr[x-1]) {ans--;mpl[x+1] = false;mpr[x-1] = false;}else if(!mpl[x+1] && !mpr[x-1]) {ans++;mpl[x] = mpr[x] = true;}else {if(mpl[x+1] && !mpr[x-1]) {mpl[x+1] = false;mpl[x] = true;}else if(!mpl[x+1] && mpr[x-1]) {mpr[x-1] = false;mpr[x]=true;}}}if(y == 1) {if(mpl[y] && mpr[y]) {ans--;mpl[y] = mpr[y] = false;} else {mpl[y] = false; mpl[y+1] = true;}}else if(y == n) {if(mpl[y] && mpr[y]) {ans--;mpl[y] = mpr[y] = false;} else {mpr[y] = false; mpr[y-1] = true;}}else {if(mpl[y] && mpr[y]) {ans--;mpl[y] = mpr[y] = false;} else if(!mpl[y] && !mpr[y]) {ans++;mpr[y-1] = true;mpl[y+1] = true;} else {if(mpl[y]) mpl[y] = false, mpl[y+1] = true;else if(mpr[y]) mpr[y] = false, mpr[y-1] = true;}}printf("%lld\n", ans);}}return 0;
}
2018 BACS Regional Programming Contest F. Football Free Kick(map离散化)相关推荐
- 2018 BACS Regional Programming Contest C. BACS, Scoundrel Shopkeeper and Contiguous Sequence (模拟)
Description Solution 模拟 Code const int maxn = 1e2 + 7; int a[maxn]; int main() {int T;scanf("%d ...
- 2018-2019 ICPC Northwestern European Regional Programming Contest (NWERC 2018)
2018-2019 ICPC Northwestern European Regional Programming Contest (NWERC 2018) 题号 题目 知识点 难度 A Access ...
- 2018 German Collegiate Programming Contest (GCPC 18)
2018 German Collegiate Programming Contest (GCPC 18) Attack on Alpha-Zet 建树,求lca 代码: #include <al ...
- 2021 HZNU Winter Training Day 17 (2018 German Collegiate Programming Contest (GCPC 18))
2021 HZNU Winter Training Day 17 (2018 German Collegiate Programming Contest (GCPC 18)) 题目 A B C D E ...
- 2020-2021 ICPC Southeastern European Regional Programming Contest (SEERC 2020)
2020-2021 ICPC Southeastern European Regional Programming Contest (SEERC 2020) B. Reverse Game 题目描述: ...
- The 2020 ICPC Asia Shenyang Regional Programming Contest I题 Rise of Shadows(数论)
题目链接The 2020 ICPC Asia Shenyang Regional Programming Contest 题目大意: 一天内有H小时,每小时M分钟,时针分针以恒定速率旋转. 现在若时针 ...
- The 2020 ICPC Asia Yinchuan Regional Programming Contest
The 2020 ICPC Asia Yinchuan Regional Programming Contest A 开三个vector数组存储x,y,z轴上的点,unique+erase去重 #in ...
- The 2022 ICPC Asia Hangzhou Regional Programming Contest
比赛连接:Dashboard - The 2022 ICPC Asia Hangzhou Regional Programming Contest - Codeforces A. Modulo Rui ...
- 2021-2022 ACM-ICPC Latin American Regional Programming Contest
2021-2022 ACM-ICPC Latin American Regional Programming Contest J. Joining Pairs 思路: 本题显然答案为NNN的情况为两条 ...
- Gym 101964 2018-2019 ACM-ICPC Southeastern European Regional Programming Contest (SEERC 2018)
传送门 A.Numbers B.Broken Watch 先考虑最简单的情况,就是a,b,c都相等的情况,这个时候答案显然只会跟n有关系,在n个线段里面选3个的情况就是C(n,3),其中有一部分不合法 ...
最新文章
- PNAS | 根际植保素合成调控细菌对植物的促生长作用
- Windows 2003 AD升级到 Windows 2008 AD
- 工作笔记---js时间插件的使用
- Java中的低GC:使用原语而不是包装器
- 2019 第八/九周/十周 开发笔记
- 2015年创业中遇到的技术问题:141-150
- java 小球抛物线_关于【愤怒的小鸟】其中的算法(自由落体,抛物线,碰撞,反弹)...
- 一个简单例子:贫血模型or领域模型
- UVA12676 Inverting Huffman
- 【软件实战】5分钟拥有一款自己的软件(教程+成品展示)
- 机器人学笔记之——操作臂运动学:驱动器空间、关节空间和笛卡尔空间
- 没有ftp信息服务器,电脑没有ftp服务器配置
- nyoj-234-吃土豆(动态规划)
- js中易错难点集合(1)
- Device /dev/ttyS? is locked.
- python - 图像处理 - 图片拼接和堆叠
- Markdown 插入图片 基于base64编码
- 2019.01.12 Presto中国区用户线下Meetup
- 每日一道Leetcode - 剑指 Offer 14- I. 剪绳子【动态规划】
- Mybatis 批量操作8种实现总结
热门文章
- 领导力/行为面试必备技能 - STAR 法则
- IMPLEMENT_DYNAMIC
- 俄罗斯无线认证-FAC认证
- 深圳-银湖山郊野公园
- 租房需要注意些什么?
- mysql opened tables_MySQL_MySQL性能优化之Open_Table配置参数的合理配置建议,在MySQL数据库中,Opened_tables表 - phpStudy...
- PuTTY使用复制粘贴
- ActiveMQ源码解析(三)Failover机制
- ASAN和HWASAN原理解析
- 红帽:商业模式比技术更重要