12657 - Boxes in a Line (UVA)

题目链接如下:

Online Judge

代码如下:

#include <cstdio>
#include <utility>
// #define debug
const int maxx = 100010;int n, m, kase, op, a, b;
int prev[maxx], next[maxx];int main(){#ifdef debugfreopen("0.txt", "r", stdin);freopen("1.txt", "w", stdout);#endifkase = 0;while (scanf("%d %d", &n, &m) == 2){bool flag = true;for (int i = 0; i <= n + 1; ++i){next[i] = i + 1;prev[i] = i - 1;}while (m--){scanf("%d", &op);if (op == 4){flag = !flag;} else {scanf("%d %d", &a, &b);if ((op == 1 && ((flag && next[a] == b) || (!flag && prev[a] == b))) || (op == 2 && ((flag && prev[a] == b) || (!flag && next[a] == b)))){continue;}if ((op == 1 && flag) || (op == 2 && !flag)){prev[next[a]] = prev[a];next[prev[a]] = next[a];next[prev[b]] = a;prev[a] = prev[b];next[a] = b;prev[b] = a;} else if ((op == 1 && !flag) || (op == 2 && flag)){prev[next[a]] = prev[a];next[prev[a]] = next[a];prev[next[b]] = a;next[a] = next[b];next[b] = a;prev[a] = b;} else if (op == 3){if (next[a] == b){next[prev[a]] = b;prev[b] = prev[a];next[a] = next[b];prev[next[b]] = a;prev[a] = b;next[b] = a;} else if (prev[a] == b){next[prev[b]] = a;prev[a] = prev[b];prev[next[a]] = b;next[b] = next[a];prev[b] = a;next[a] = b;} else{prev[next[a]] = b;next[prev[a]] = b;prev[next[b]] = a;next[prev[b]] = a;std::swap(next[a], next[b]);std::swap(prev[a], prev[b]);}}}}long long ans = 0;if (flag){for (int i = next[0]; i > 0 && i <= n; i = next[i]){ans += i;i = next[i];}} else {for (int i = prev[n + 1]; i > 0 && i <= n; i = prev[i]){ans += i;i = prev[i];}}printf("Case %d: %lld\n", ++kase, ans);}#ifdef debugfclose(stdin);fclose(stdout);#endifreturn 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/150951.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

壹基金为爱同行到余村,以一步步健行换一滴滴净水

为帮助乡村儿童喝上干净的、足量的饮用水,壹基金联合可口可乐中国发起为爱同行2023安吉余村公益健行活动。本次活动得到了湖州市安吉县天荒坪镇人民政府、湖州市安吉县天荒坪镇余村村村民委员会的大力支持,由深圳市登山户外运动协会、文益社、悦跑圈联合主办。参与健行不仅能感…

【PCB学习】几种接地符号

声明 该图并非原创&#xff0c;原文出处不可考&#xff0c;因此在这里附加说明。 示意图

UE基础篇六:音频

导语: 通过实现一个小游戏,来学会音频,最后效果 入门 下载启动项目并解压缩。通过导航到项目文件夹并打开SkywardMuffin.uproject来打开项目。 按播放开始游戏。游戏的目标是在不坠落的情况下触摸尽可能多的云。单击鼠标左键跳到第一朵云。 游戏很放松,不是吗?为了强调…

【Web】PHP反序列化的一些trick

目录 ①__wakeup绕过 ②加号绕过正则匹配 ③引用绕过相等 ④16进制绕过关键词过滤 ⑤Exception绕过 ⑥字符串逃逸 要中期考试乐(悲) ①__wakeup绕过 反序列化字符串中表示属性数量的值 大于 大括号内实际属性的数量时&#xff0c;wakeup方法会被绕过 &#xff08;php5-p…

男子遗失30万天价VERTU唐卡手机,警察2小时“光速”寻回

今天&#xff0c;一则“男子丢失30万元手机女子捡到一位老年机”的新闻迅速冲上热搜第一&#xff0c;引发全网热议。据宿城公安消息&#xff1a;近日&#xff0c;江苏省宿迁市市民王先生在购物时不慎失落了一部价值30万元的全球知名奢侈品VERTU手机&#xff0c;被民警2个多小时…

WordPress丸子小程序问题常见解决方案

WordPress丸子小程序问题常见解决方案 下载uniapp&#xff0c;导入项目。修改下图域名为自己的WP博客地址。&#xff08;如下图&#xff09; 发行微信小程序&#xff0c;如果显示不是项目所有者&#xff0c;请重新获取。 重新发行微信小程序&#xff0c;请打开微信开发者工具端…

MODBUS转PROFINET网关TS-180连接西门子PLC和工业称重仪表

项目 随着科技的高速发展&#xff0c;工业自动化行业对日益多样的称重需求越来越高&#xff0c;上海某公司在国内的一个 工业自动化项目中&#xff0c;监控中心系统需要远程实时采集工业称重仪表测量的各种称重参数。该系统使用的是 西门子 S7-300 PLC&#xff0c;支持 PROFINE…

Python-使用sqlite3模块

Python-使用sqlite3模块 一、导入模块二、连接到数据库三、创建游标四、执行SQL查询五、处理结果集六、提交更改七、关闭连接 一、导入模块 首先&#xff0c;需要导入sqlite3模块。 可以使用以下代码导入&#xff1a; import sqlite3 二、连接到数据库 在连接到SQLite数据库…

ChainLight zkSync Era漏洞揭秘

1. 引言 ChainLight研究人员于2023年9月15日&#xff0c;发现了zkSync Era主网的ZK电路的一个soundness bug&#xff0c;并于2023年9月17日&#xff0c;向Matter Labs团队报告了该问题。Matter Labs团队修复了该问题&#xff0c;并奖励了ChainLight团队5万USDC——为首个zkSync…

《Python数据科学项目实战》:开启数据科学之旅的实战指南!

《Python数据科学项目实战》是一本内容丰富且组织结构严谨的书籍&#xff0c;它旨在帮助读者通过实际案例研究掌握使用Python进行数据科学工作的必要知识。本书的案例研究涵盖了在线广告分析、使用新闻数据跟踪疾病暴发等多个现实世界的场景&#xff0c;使读者能够将所学知识应…

力扣372周赛

力扣第372场周赛 使三个字符串相等 模拟&#xff0c;找到最长前缀&#xff0c;再用每个长度减去最长前缀 class Solution { public:int findMinimumOperations(string s1, string s2, string s3) {int a s1.size() , b s2.size() , c s3.size();int minl min(a , min(b …

Java爬虫框架下代理使用中的TCP连接池问题及解决方案

引言 当使用Java爬虫框架进行代理爬取时&#xff0c;可能会遇到TCP连接池问题&#xff0c;导致"java.net.BindException: Cannot assign requested address"等错误。本文将介绍如何以爬取小红书为案例&#xff0c;解决Java爬虫框架中代理使用中的TCP连接池问题&…

深度学习之基于Django+Tensorflow动物识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 基于Django和TensorFlow的动物识别系统可以被设计成能够使用深度学习算法自动识别上传的图像中的动物种类&#xff…

MATLAB画图分辨率、图像大小研究

MATLAB画图分辨率、图像大小研究 Figure属性中 InnerPosition Position OuterPosition区别画图与打印的分辨率和图像大小研究首先明确两个概念&#xff1a;MATLAB实操画图 Figure属性中 InnerPosition Position OuterPosition区别 在画图的时候&#xff0c;我们经常需要设置Fi…

JavaScript中的对象

JavaScript中的对象属于是引用类型的数据&#xff0c;是一种数据类型 对象&#xff1a;是一组属性和方法的集合 一部手机&#xff1a;属性有颜色、品牌、屏幕尺寸、内存大小、CPU&#xff0c;方法有播放视频、听音乐、办公、聊天... 一辆汽车&#xff1a;属性有颜色、空间大…

【数据处理】Python:实现求条件分布函数 | 求平均值方差和协方差 | 求函数函数期望值的函数 | 概率论

猛戳订阅! 👉 《一起玩蛇》🐍 💭 写在前面:本章我们将通过 Python 手动实现条件分布函数的计算,实现求平均值,方差和协方差函数,实现求函数期望值的函数。部署的测试代码放到文后了,运行所需环境 python version >= 3.6,numpy >= 1.15,nltk >= 3.4,tqd…

Git 提交竟然还能这么用?

大家好&#xff0c;我是鱼皮。Git 是主流的代码版本控制系统&#xff0c;是团队协作开发中必不可少的工具。 之前已经给大家分享过 Git / GitHub 的学习指南&#xff0c;感兴趣的同学可以先看视频了解&#xff1a;https://www.bilibili.com/video/BV1KZ4y1e7cG。 这篇文章&am…

PHP 数据类型判断学习资料

PHP 数据类型判断 在 PHP 中&#xff0c;您可以使用一些内置函数来判断变量的数据类型。这些函数可以帮助您在程序中进行条件判断和类型转换。以下是一些常用的 PHP 数据类型判断函数&#xff1a; 1. is_string() is_string($variable) 函数用于检查变量是否为字符串类型。它…

BUG:编写springboot单元测试,自动注入实体类报空指针异常

原因:修饰测试方法的Test注解导入错误 造成错误的原因是 import org.junit.Test;正确的应该是 import org.junit.jupiter.api.Test前者是Junit4,后者是Junit5 junit4的使用似乎要在测试类除了添加SpringbootTest还要添加RunWith(SpringRunner.class) 同时要注意spring-boot-s…

12v转3.3v不发热的ldo 12转5V 不发热三端稳压IC

主营产品:锂电充电管理IC 双节锂电8.4V 单节锂电充电 镊镉电池充电 低功耗鼠标升压IC DC-DC稳压IC 车充IC 车充方案 车载LED照明驱动 恒流恒压车充IC 输出带线补车充IC 耐高压60V稳压IC锂电池供电充电管理IC 3.7V升5V大电流升压IC LED驱动IC 充电器升压IC 急充升压IC 电流稳压…