题意:给一个n*n的格子,1在左上角,2在右下角,每个人有一个初始速度和方向,若遇到边缘,则朝相反方向前进,若两个人相遇则交换方向(注意方向改变后,人仍然需要移动),同时,每个人每过t1,t2时间就会朝左转向,求K秒时那个人所在的方向

模拟,看起来比较麻烦,实际写起来还是比较好写的

  1. #include<cstdio>
  2. #include<iostream>
  3. #include<algorithm>
  4. #include<cstring>
  5. #include<queue>
  6. #include<map>
  7. using namespace std;
  8. #define MOD 1000000007
  9. const double eps=1e-;
  10. #define cl(a) memset(a,0,sizeof(a))
  11. #define ts printf("*****\n");
  12. const int MAXN=;
  13. int n,m,tt,K,v1,v2;
  14. int dir1,dir2,t1,t2; //0北,1西,2南,3东
  15. int x1,y1;
  16. int x2,y2;
  17. void fun(int t)
  18. {
  19. if(x1==x2&&y1==y2) swap(dir1,dir2);
  20. else
  21. {
  22. if(t!=&&t%t1==) dir1+=,dir1%=;
  23. if(t!=&&t%t2==) dir2+=,dir2%=;
  24. }
  25.  
  26. for(int i=;i<v1;i++)
  27. {
  28. if(dir1==&&x1==)dir1=;
  29. if(dir1==&&y1==)dir1=;
  30. if(dir1==&&x1==n)dir1=;
  31. if(dir1==&&y1==n)dir1=;
  32.  
  33. if(dir1==)x1--;
  34. else if(dir1==)y1--;
  35. else if(dir1==)x1++;
  36. else y1++;
  37. }
  38. for(int i=;i<v2;i++)
  39. {
  40. if(dir2==&&x2==)dir2=;
  41. if(dir2==&&y2==)dir2=;
  42. if(dir2==&&x2==n)dir2=;
  43. if(dir2==&&y2==n)dir2=;
  44.  
  45. if(dir2==)x2--;
  46. else if(dir2==)y2--;
  47. else if(dir2==)x2++;
  48. else y2++;
  49. }
  50. }
  51. int main()
  52. {
  53. int i,j,k;
  54. #ifndef ONLINE_JUDGE
  55. freopen("1.in","r",stdin);
  56. #endif
  57. while(scanf("%d",&n)!=EOF)
  58. {
  59. if(n==) break;
  60. char di[];
  61. x1=,y1=;
  62. x2=n,y2=n;
  63.  
  64. scanf("%s%d%d",di,&v1,&t1);
  65. if(di[]=='N') dir1=;
  66. else if(di[]=='W') dir1=;
  67. else if(di[]=='S') dir1=;
  68. else dir1=;
  69.  
  70. scanf("%s%d%d",di,&v2,&t2);
  71. if(di[]=='N') dir2=;
  72. else if(di[]=='W') dir2=;
  73. else if(di[]=='S') dir2=;
  74. else dir2=;
  75.  
  76. scanf("%d",&K);
  77. for(i=;i<K;i++)
  78. {
  79. fun(i); //每秒钟的运动情况
  80. }
  81. printf("%d %d\n",x1,y1);
  82. printf("%d %d\n",x2,y2);
  83. }
  84. }

hdu 4452 37届金华赛区 K题的更多相关文章

  1. hdu 4445 37届金华赛区 D题

    题意:给一个坦克的高度,求炮弹能打中最多的数量 枚举角度,作为一名学霸虽然很快推出了公式,但是却没有考虑到,角度可以朝下的情况 #include<cstdio> #include<i ...

  2. hdu 4451 37届金华赛区 J题

    题意:给出衣服裤子鞋子的数目,有一些衣服和裤子,裤子和鞋子不能搭配,求最终的搭配方案总数 wa点很多,我写wa了很多次,代码能力需要进一步提升 #include<cstdio> #incl ...

  3. hdu 4442 37届金华赛区 A题

    题意:给出一些队伍,每个队伍有初始等待时间和每秒增加的时间,求最短时间 假设有两个队初始时间和每秒增加时间为a1,b1和a2,b2 若第选择第一个的时间小于第二个,则 a1+a2+a1*b2<a ...

  4. hdu 4463 第37届ACM/ICPC杭州赛区K题 最小生成树

    题意:给坐标系上的一些点,其中有两个点已经连了一条边,求最小生成树的值 将已连接的两点权值置为0,这样一定能加入最小生成树里 最后的结果加上这两点的距离即为所求 #include<cstdio& ...

  5. HDU-4451-Dressing (2012年金华赛区J题)

    Dressing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

  6. HDU 6274 二分+预处理(CCPC K题

    #include"bits/stdc++.h" #define db double #define ll long long #define vec vector<ll> ...

  7. HDU - 6521 Party (SYSU校赛K题)(线段树)

    题目链接 题意:n个人排成一列,一开始他们互不认识,每次选[l,r]上的人开party,使他们互相认识,求出每次party之后新互相认识的人的对数. 思路:把“互相认识”变成单向连边,只考虑左边的人对 ...

  8. hdu 5122(2014ACM/ICPC亚洲区北京站) K题 K.Bro Sorting

    传送门 对于错想成lis的解法,提供一组反例 1 3 4 2 5同时对于这次案例也可以观察出解法:对于每一个数,如果存在比它小的数在它后面,它势必需要移动,因为只能小的数无法向右移动,而且每一次移动都 ...

  9. 2019牛客暑期多校训练营(第四场)k题、j题

    传送门 k题: 题意: 给你一串由数字构成的字符串,你从这个字符串中找子字符串使这个字符串是300的倍数 题解: 这道题和第三场的B题极其相似 首先可以把是三百的倍数分开,必须要是100和3的倍数 是 ...

随机推荐

  1. oracle按照in的顺序进行排序

    oracle按照in的顺序进行排序 ,,) order by case id end;

  2. python---django使用数据库(orm)

    官方教程点击此处 项目默认使用sqlite DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os. ...

  3. vue 获取后端数据打印结果undefined问题

    今天做项目时后端有一个要展示到页面上的附件需要前端获取,我获取到了那个附件的信息,但打印fj.name或fj.url时控制台就会显示undefined,后来才发现是json数据没有解析对,应该使用JS ...

  4. Carmichael Numbers (Uva No.10006) -- 快速幂运算_埃氏筛法_打表

    #include <cstdio> #include <iostream> #include <algorithm> #include <cmath> ...

  5. Spring: 读取 .properties 文件地址,json转java对象,el使用java类方法相关 (十三)

    1. 在Java中获取 .properties 文件的路径 (src/main/resources 下) ProjectName |---src/main/java |---src/main/reso ...

  6. <td>内容超出自动换行

    td 内容自动换行 table表格td设置宽度后文字太多自动换行 设置table 的 style="table-layout:fixed;" 然后设置td的 style=" ...

  7. Maven从私服上下载所需jar包——(十四)

    1.修改settings.xml 将下面代码添加到settings.xml中 <profile> <!--profile的id--> <id>dev</id& ...

  8. VAE(Variational Autoencoder)的原理

    Kingma, Diederik P., and Max Welling. "Auto-encoding variational bayes." arXiv preprint ar ...

  9. eclipse安装阿里巴巴java开发规范插件

    阿里巴巴java开发规范插件 作为JAVA开发人员,始终没有一个明确的规范,何为好代码,何为坏代码,造成不同人的代码风格不同,接手别人代码后改造起来相当困难.前不久,阿里巴巴发布了<阿里巴巴Ja ...

  10. 浅谈js设计模式之发布 — 订阅模式

    发布 — 订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知.在 JavaScript开发中,我们一般用事件模型来替代传统的发布 — ...