题目链接

AtCoder:https://agc013.contest.atcoder.jp/tasks/agc013_c

洛谷:https://www.luogu.org/problemnew/show/AT2369

Solution

首先可以注意到他们的相对位置是不变的。

然后两只蚂蚁相遇可以看作是他们穿过了彼此然后交换编号。

那么我们就可以得到最后的位置了,只需要确定编号就好了。

注意到如果有一只蚂蚁穿过了\(l-1\sim 0\)之间,所有编号都会左移(右移)一格。

那么我们只需要处理出他们编号是怎么移的就好了。

#include<bits/stdc++.h>
using namespace std;#define int long long void read(int &x) {x=0;int f=1;char ch=getchar();for(;!isdigit(ch);ch=getchar()) if(ch=='-') f=-f;for(;isdigit(ch);ch=getchar()) x=x*10+ch-'0';x*=f;
}void print(int x) {if(x<0) putchar('-'),x=-x;if(!x) return ;print(x/10),putchar(x%10+48);
}
void write(int x) {if(!x) putchar('0');else print(x);putchar('\n');}#define lf double
#define ll long long const int maxn = 1e5+10;
const int inf = 1e9;
const lf eps = 1e-8;int p[maxn],n,c,l,t;signed main() {read(n),read(l),read(t);for(int i=1,x;i<=n;i++) {read(p[i]),read(x);x=x==2?-1:x;p[i]+=x*t;if(p[i]>0) c+=p[i]/l;else if(p[i]<0) c+=(p[i]+1)/l-1;p[i]=(p[i]%l+l)%l;}sort(p+1,p+n+1);c=(c%n+n)%n;for(int i=c+1;i<=n;i++) write(p[i]);for(int i=1;i<=c;i++) write(p[i]);return 0;
}

转载于:https://www.cnblogs.com/hbyer/p/10717599.html

[AT2369] [agc013_c] Ants on a Circle相关推荐

  1. atCoder Ants on a Circle(又是蚂蚁问题。。。)

    atCoder Ants on a Circle(又是蚂蚁问题...) 传送门 题意:一个圈,蚂蚁在上面以相同的速度和不同的方向走,问t秒后它们各自的位置. 解法:和经典的蚂蚁问题一致,把相撞的情况看 ...

  2. AtCoder Grand Contest 013 题解

    A - Sorted Arrays 贪心,看看不下降和不上升最长能到哪,直接转移过去即可. 1 //waz 2 #include <bits/stdc++.h> 3 4 using nam ...

  3. 2016区域赛前冲刺训练

    UPD 2016.10.23 shift-and (2题) Codeforces 训练 现在已经完成了: 191 [Codeforces Round #377] (6/6) Div 2 A Buy a ...

  4. OpenCV 学习笔记03 boundingRect、minAreaRect、minEnclosingCircle、boxPoints、int0、circle、rectangle函数的用法...

    函数中的代码是部分代码,详细代码在最后 1 cv2.boundingRect 作用:矩形边框(boundingRect),用于计算图像一系列点的外部矩形边界. cv2.boundingRect(arr ...

  5. 旷视提Circle Loss,统一优化视角,革新深度特征学习范式 | CVPR 2020

    作者 | 旷视研究院 本文是旷视 CVPR 2020的被收录论文解读第.它提出用于深度特征学习的Circle Loss,从相似性对优化角度正式统一了两种基本学习范式(分类学习和样本对学习)下的损失函数 ...

  6. CVPR 2020 Oral | 旷视提出Circle Loss,革新深度特征学习范式

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文系旷视研究院投稿 本文是旷视CVPR2020论文系列解读第4篇, ...

  7. CVPR 2020 Oral | 旷视研究院提出Circle Loss,革新深度特征学习范式

    IEEE 国际计算机视觉与模式识别会议 CVPR 2020 (IEEE Conference on Computer Vision and Pattern Recognition) 将于 6 月 14 ...

  8. codeforces1700数学:E2. Close Tuples (hard version)[组合计数 逆向统计] D. Circle Game[对称博弈考虑对称状态的胜负]

    E2. Close Tuples (hard version) 题目大意: 给定一个长度为n的序列a,给定一个长度为n的序列a,给定一个长度为n的序列a, 要从中挑选一个m元组(ai1,ai2,ai3 ...

  9. R语言distVincentyEllipsoid函数计算大圆距离实战(Great Circle Distance)

    R语言distVincentyEllipsoid函数计算大圆距离实战(Great Circle Distance) 目录 R语言distVincentyEllipsoid函数计算大圆距离实战(Grea ...

最新文章

  1. 8086CPU写汇编的规则
  2. 剑指offer——最小的K个数和数组中第K大的元素
  3. Java SSM篇3——Mybatis
  4. Exploring Ionic Lists
  5. Net设计模式实例之建造者模式(Builder Pattern)(1)
  6. 数组转ArrayList的正确方式
  7. 史上最全的vim快捷键
  8. 【第十届“泰迪杯”数据挖掘挑战赛】C题:疫情背景下的周边游需求图谱分析 问题三方案及Python实现
  9. PCS7专用台式计算机,PCS7.V7.0.深入浅出.pdf
  10. HR人事管理系统软件有哪些?如何选择HR人事管理软件?
  11. git tracked branch
  12. 编译coccinelle-1.0.0-rc24时的错误Error: Unbound module Parmap以及解决方法
  13. SQP(序列二次规划中的Marotos效应)
  14. html编写红头文件
  15. 慎用小封装大阻值电阻
  16. vue全家桶学习笔记
  17. java代码--------随机输出100个随机数,要求每行10个数
  18. Photoshop CS6调整界面字体大小
  19. 怎么脚本控制虚拟机的服务器,宿主机脚本控制虚拟机
  20. 《那些年啊,那些事——一个程序员的奋斗史》——124

热门文章

  1. 在VirtualBox下安装linux操作系统
  2. 2019 年 Spread.NET 产品路线图(Roadmap)
  3. 个人站立会议(11月17日)
  4. ORM 和 JDBC有何不一样
  5. [快速数论变换 NTT]
  6. CABasicAnimation 动画组合
  7. Thread系列之Thread.Join()
  8. flash与字符串:数组转换为字符串
  9. 在OpenCV环境下写的灰度图像二维傅里叶换,幅值计算,频谱平移和将数值归一化到0到255区间的四个函数
  10. MATLAB的fft2和OpeCV的cvDFT的结果应该是一样的,但为什么有时候会相差255倍呢?