Sicily 10392. Meet and Greet
来源:互联网 发布:梦龙网络计划64位win7 编辑:程序博客网 时间:2024/06/06 14:28
10392. Meet and Greet
Constraints
Time Limit: 1 secs, Memory Limit: 256 MB
Description
As is commonly known, cows are very socially polite creatures: any time two cows meet after being apart, they greet each-other with a friendly "moo". Bessie the cow and her friend, Elsie, are walking around on a long path on Farmer John's farm. For all practical purposes, we can think of this path as a one-dimensional number line. Bessie and Elsie both start at the origin, and they both then begin walking around at identical speeds for some amount of time. Given a description of the movements taken by each cow, please determine the number of "moos" exchanged. Bessie and Elsie can stop moving at different points in time, and neither cow will travel for more than 1,000,000 units of time.
Input
* Line 1: Two space-separated integers, B (1 <= B <= 50,000) and E (1 <= E <= 50,000).
* Lines 2..1+B: These B lines describe Bessie's movements. Each line contains a positive integer followed by either "L" or "R", indicating the distance Bessie moves in a direction that is either left or right.
* Lines 2+B..1+B+E: These E lines describe Elsie's movements. Each line contains a positive integer followed by either "L" or "R", indicating the distance Elsie moves in a direction that is either left or right.
Output
* Line 1: An integer specifying the number of "moos" exchanged by the two cows. Their initial shared starting position at the origin does not cause a "moo".
Sample Input
4 53 L5 R1 L2 R4 R1 L3 L4 R2 L
Sample Output
3
Hint
In the sample, Bessie moves left for 3 units of time, then right for 5 units of time, then left for 1 unit of time, and finally right for 2 units of time; she then stands still. Elsie moves right for 4 units of time, then left for 4 units of time, then right for 4 units of time, then left for 2 units of time; she then stands still. So Bessie and Elsie meet after being temporarily apart at time 7, time 9, and time 13.
Problem Source
USACO contest 2012.12/2014年每周一赛第二场
0.04s:
#include <iostream>#include <queue>#include <stdio.h>using namespace std;struct Move { int num; char dir;};int main() { int b, e, i, j, b_pos, e_pos, counter; bool last_is_88 = false; Move bm[50005], em[50005]; scanf("%d %d", &b, &e); for (i = 0; i < b; i++) { scanf("%d %c", &bm[i].num, &bm[i].dir); } for (i = 0; i < e; i++) { scanf("%d %c", &em[i].num, &em[i].dir); } b_pos = e_pos = i = j = counter = 0; while (1) { if (i == b && j == e) break; if (bm[i].num && i < b) { if (bm[i].dir == 'L') b_pos--; else b_pos++; bm[i].num--; } if (bm[i].num == 0) { i = i < b ? i + 1 : i; } if (em[j].num && j < e) { if (em[j].dir == 'L') e_pos--; else e_pos++; em[j].num--; } if (em[j].num == 0) { j = j < e ? j + 1 : j; } if (b_pos == e_pos && last_is_88) { counter++; last_is_88 = false; } if (b_pos != e_pos) last_is_88 = true; } printf("%d\n", counter); return 0;}
- Sicily 10392. Meet and Greet
- Meet and Greet
- 中大周赛 2014年每周一赛第二场 Meet and Greet
- USACO 2012 December Contest, Bronze Problem 1. Meet and Greet (模拟)
- Sicily 1798. Alice and Bob
- sicily 1491 Look and Say
- sicily--1798. Alice and Bob
- sicily--1007. To and Fro
- Sicily.1007. To and Fro
- Sicily 1007. To and Fro
- sicily 1007. To and Fro
- sicily 1050.Numbers and Letters
- sicily 1007.To and Fro
- sicily 1798.Aclie and Bob
- Sicily 1007 To and Fro
- sicily 1001. To and Fro
- Sicily 1007. To and Fro
- Sicily 1491 Look and Say
- Sicily 1938. Message Flood
- maven POM.xml详解
- Sicily 2002. Feeding Time
- Sicily 2011. Nine Digits
- MAVEN常用命令
- Sicily 10392. Meet and Greet
- javascript深入了解(四)
- Sicily 1818. 成绩转换
- 【转载】c++程序链接的过程原理详解
- Sicily 1137. 河床
- LeetCode - Add Two Numbers - Frequent
- OnCtlColor
- 正则表达式语法
- 理解Storm内部的消息缓冲区