zoukankan      html  css  js  c++  java
  • UVA10881Piotr's Ants

    感觉很巧妙的一道题 之前比赛做过一道题与这个类似 当时没想出来

    很多蚂蚁在一条线上走 对撞之后改变方向 问T时间之后 蚂蚁分别在哪里 蚂蚁都是一样的 可以把蚂蚁看做一个点 对撞的时候 可以看做穿过 这样T之后哪些点有蚂蚁就知道了 就是不知道这个点的原点是哪个 可以把输入的点排序 因为相对顺序是不变的 就知道这个点原来是哪个了

    不知道为嘛一直交不对 重新打了一遍 就A了

    View Code
     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<stdlib.h>
     6 
     7 using namespace std;
     8 struct node
     9 {
    10     int id,p,d;
    11 }before[10010],after[10010];
    12 char dir[][100] = {"L","Turning","R"};
    13 int order[10010];
    14 bool cmp(node a,node b)
    15 {
    16     return a.p<b.p;
    17 }
    18 int main()
    19 {
    20     int i,j,k,n,m,ll,t;
    21     char c;
    22     cin>>m;
    23     for(j = 1; j <= m ; j++)
    24     {
    25         cin>>ll>>t>>n;
    26         for(i = 0 ; i < n ; i++)
    27         {
    28             cin>>k>>c;
    29             int y = (c=='L'?-1:1);
    30             before[i] = (node){i,k,y};
    31             after[i] = (node){0,k+y*t,y};
    32         }
    33         sort(before,before+n,cmp);
    34         sort(after,after+n,cmp);
    35         printf("Case #%d:\n",j);
    36         for(i = 0 ; i < n ; i++)
    37         order[before[i].id] = i;
    38         for(i = 0 ; i < n-1 ; i++)
    39         if(after[i].p==after[i+1].p)
    40         after[i].d = after[i+1].d = 0;
    41         for(i = 0 ; i < n ; i++)
    42         {
    43             int a = order[i];
    44             if(after[a].p<0||after[a].p>ll)
    45             puts("Fell off");
    46             else
    47             printf("%d %s\n",after[a].p,dir[after[a].d+1]);
    48         }
    49         puts("");
    50     }
    51     return 0;
    52 }
  • 相关阅读:
    Aerospike系列:4:简单的增删改查aql
    Aerospike系列:3:aerospike特点分析
    MySQL事物系列:2:事物的实现
    MySQL事物系列:1:事物简介
    MySQL 源码系列:1:窥探篇
    MySQL 内存和CPU优化相关的参数
    Aerospike系列:2:商业版和社区版的比较
    Aerospike系列:1:安装
    MDX Cookbook 08
    MDX Cookbook 07
  • 原文地址:https://www.cnblogs.com/shangyu/p/3039898.html
Copyright © 2011-2022 走看看