[提姆(Tim)usACM][1258]程序员撞墙的题目

a说b是坏人 那a是坏人b是老实人 a是好人b是禽兽 也就是说a和b不是一类人

1258. Pool

运行时刻范围: 1.0 秒
内存限制: 16 MB

葡京娱乐十大排名 1

 

在午休的时候,程序员Vasechkin喜欢在她的矩形房间里转悠。他从他干活的地点开首散步,直到她有了再开首工作的想法才打住。我们已知当Vasechkin撞墙时,他的移动规律相当符合“入射角等于反射角”定律。并且Vasechkin走的不二法门是很直的线条。冷酷的办公总经理决定找出他荒废了不怎么日子在走走上。鲜明Vasechkin走过的长度除以他的平均速度(事先测量)可得出所用的光阴。所以必须了然这些尺寸!并且从Vasechkin的相撞中能清楚的知道Vasechin的撞墙顺序。可能还有更简便易行的办法计算出程序员所浪费的日子,但是办公室COO认为那是缓解问题的特等格局。

葡京娱乐十大排名 2葡京娱乐十大排名 3

  今日在腾讯网来看那种在线测试的时候,有一种相见恨晚的感觉,于是随便选了一道感兴趣的题(No.1258:Pool)初步做。为了准确了然题的情致,我把题翻译成汉语了,那道题的法则和台球很一般(由于从前常玩可乐8,所以对台球的题材深感亲切)。但不明了为什么出题人将台球问题说成了一个程序员撞墙的题材。上边是自己翻译后的,爱尔兰语不佳,译错的地点请见谅。

Submit Status

问题:

在那个村落中,唯有三种人,一种是老实人,一种是禽兽。

  

不是的话一脸懵逼 是的话有解

例子

input output
            10 20
            9 1
            1 19
            FLRLRB
52.8015

 

出题人: Pavel Egorov
题来源: 二零零三年四月11日斯维尔德洛夫斯克州硕士编程公开赛

==============================================================

简单来讲了然就是:给长宽,源点和终端,撞边的场馆,最后求的是轨道的尺寸。
按下图,做协助图后,可以比较便于的基于勾股定理求出斜边。
葡京娱乐十大排名 4

X0,X1,Y0,Y1,W,D那一个都是已知的,接下去就是分析碰撞顺序与那些量的关系。

X方向的活动和Y方向的可以分级分析。
X方向的位移规律找出来了,Y方向的运动也是一模一样的。
不撞墙时:(X0-X1)^2和(X1-X0)^2是相同的,为了跟下边统一,所以把X0写在头里
葡京娱乐十大排名 5

再分析一下周全的法则:
葡京娱乐十大排名 6

规律已经相比鲜明:
X0的周到规律——先往左的时候为正1,先往右的时候为负1。
X1的周全规律——碰撞次数为偶数的时候与X0全面异号,奇数时同号。
W的全面规律——R个数乘以2。

Y方向的法则也是那般。

剖析到此,已经得以在程序里面方便的贯彻这几个逻辑了。

下边是自我写的代码,假若按照科学格式输入,结果是正确的。
但不领悟怎么,提交到ACM系统中报错,也不知晓不当是怎么着,调试不了,我早就是心情殆尽了。哪位情人要是运行成功了照旧发现错误了,一定要报告我下。
有一个题材,题中须要结果保留4位小数,但自身没看出来是“四舍五入”仍旧“直接舍去”,但本身三种都试了,都说答案有误。

上边是代码:

 1 using System;
 2 namespace ACM1258
 3 {
 4     class Program
 5     {
 6         static void Main()
 7         {
 8             System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
 9             
10             double result;    //输出
11             double sideX, sideY;   //两个直角边
12             double X0,X1,Y0,Y1,W,D;   //各个参数
13             string flrb;    //撞墙顺序
14             int coeffX0=0,coeffX1=0,coeffY0=0,coeffY1=0,coeffW=0,coeffD=0;  //各个系数
15             bool checkLorR= true,checkForB= true;  //是否检查第一个LR、FB
16             bool LFirst= false,FFirst= false;      //判断第一个撞哪边
17             bool FBpair= true,LRpair=true;         //F与B、L与R的个数是否相等;
18 
19             string[] temp;
20             temp = Console.ReadLine().Split();               //[0]:W   [1]:D
21             W=Convert.ToDouble(temp[0]);
22             D=Convert.ToDouble(temp[1]);
23             temp = Console.ReadLine().Split();              //[0]:X0  [1]:Y0
24             X0=Convert.ToDouble(temp[0]);
25             Y0=Convert.ToDouble(temp[1]);
26             temp = Console.ReadLine().Split();               //[0]:X1  [1]:Y1
27             X1=Convert.ToDouble(temp[0]);
28             Y1=Convert.ToDouble(temp[1]);
29             flrb = Console.ReadLine();
30             
31             for (int i = 0; i < flrb.Length; i++)
32             {
33                 switch (flrb[i])
34                 {
35                     case 'F':
36                         if (checkForB)
37                         {
38                             FFirst = true;
39                             checkForB = false;
40                         }
41                         FBpair = !FBpair;
42                         break;
43                     case 'L':
44                         if (checkLorR)
45                         {
46                             LFirst = true;
47                             checkLorR = false;
48                         }
49                         LRpair = !LRpair;
50                         break;
51                     case 'R':
52                         if (checkLorR)
53                         {
54                             LFirst = false;
55                             checkLorR = false;
56                         }
57                         LRpair = !LRpair;
58                         coeffW++;
59                         break;
60                     case 'B':
61                         if (checkForB)
62                         {
63                             FFirst = false;
64                             checkForB = false;
65                         }
66                         FBpair = !FBpair;
67                         coeffD++;
68                         break;
69                     default:
70                         break;
71                 }
72             }
73 
74             coeffX0 = LFirst ? 1 : -1;
75             coeffX1 = LRpair ? -coeffX0 : coeffX0;
76             coeffY0 = FFirst ? 1 : -1;
77             coeffY1 = FBpair ? -coeffY0 : coeffY0;
78 
79             sideX = (coeffX0 * X0 + coeffX1 * X1) + coeffW * 2 * W;
80             sideY = (coeffY0 * Y0 + coeffY1 * Y1) + coeffD * 2 * D;
81             
82             result = Math.Sqrt(sideX*sideX+sideY*sideY);
83             //result = ((int)(result * 10000)) / 10000.0;   //这是直接舍去的,否则就是四舍五入
84             Console.WriteLine(result.ToString("F4"));
85         }
86     }
87 }

 

运作题中的测试用例结果:

葡京娱乐十大排名 7


输入

第一行由七个整数W和D组成——他们各自是Vasechkin所在屋子的宽和长(0<=W,D<=1000,单位:米)。
其次行由Vasechkin的前奏地方相对于左上角的坐标组成(0<X0<W,0<y0<D)。 
其三行是极端相对于左上角的坐标(0<x1<W,0<y1<D),
说到底的第四行由字母L,R,F,B组成,每个字母分别代表Vasechkin撞墙的逐条——左,右,上,下。
撞墙的次数不当先1000.
这一个程序员永远不会撞在墙角,并且他的原初地方不会贴在墙上。

 

题目地址:http://acm.timus.ru/problem.aspx?space=1&num=1258

1≤ai≤N1≤ai≤N

(本文是从我的旧博客搬迁过来的)

Description

 

Input

输出

Vasechkin从源点到终端所走的长短,保留小数点后四位。

只要存在一个好人坏人的分类可以满足所有的指控,那么输出”提姆e to show my
power”,否则输出”One face meng bi”

Input

近年来的题目变成处理环 绕一圈看看自己跟自己是或不是一类人 

Time to show my power

葡京娱乐十大排名,Output

Sample Input

Sample Input

卿学姐修行途中只学会了膜法,却不谙世事,所以卿学姐不可能肯定哪些人是老实人,哪些人是坏人。

//那个故事告诉大家交题选语言的时候势要求小心……

唯有是或不是一类人 也就是说one face
mengbi的状态唯有在环上自己又是老实人又是禽兽

Sample Output


2 2 
3 2 
1 2

接下去NN行,每行四个整数,ai,tai,t,如果tt是11,那么声明第ii私有觉得第aiai私有是老实人。倘若tt是22,那么表明第ii个体觉得第aiai民用是禽兽。

 


 

村庄虚伪的安静由于卿学姐的到来,终于被打破了。

现行告知你村庄中每个人指控什么人是或不是为好人,请问是还是不是有个合理的分类可以适合所有的指控。

接下来考虑每个点都有且唯有一条出边 然后考虑每个点都有且只有一条出边
所以答案只跟环有关 链直接投向

好人只说真话,坏人只说谎言。

One face meng bi

88球是一种台球竞技的规则。台面上有77个红球、77个黄球以及一个黑球,当然还有一个白球。对于主旨,大家使用如下的简化规则:红、黄两名运动员轮番用白球击打各自颜色的球,即便将该颜色的77个球全部打进,则那名健儿得以打黑球,如若打进则算他胜。如若在打进自己颜色的所有球此前就把黑球打进,则算输。倘使选手不慎打进了对手的球,入球如故有效。

自身好菜呀

Output

Time
Limit:
1500MS     Memory Limit:65535KB     64bit IO Format:%lld
& %llu


RYRRB 

RRRRYRRRB 
0

//明明好不难的一道题结果智障居然WA了无很多次感觉好难看哇


2 2 
3 1 
1 2

首先组样例中,即使1是老实人,2和3都是坏人,就能诠释得通那几个指控

如果不会有一杆同时打进一颗黑球和其余彩球。

 

 

 

Sample Output

对每组数据,输出一行。若是红方胜,输出Red;黄方胜,输出Yellow

//打代码的时候不要手贱复制QAQ

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 100
using namespace std;

int main()
{
    int n;
    char s[maxn];
    while(scanf("%d",&n) ,n) 
    {
        scanf("%s",s+1);
        int a=7,b=7;
        for(int i=1;i<=n;++i)
        {
            if(s[i]=='Y')--a;
            if(s[i]=='R')--b;
            if(s[i]=='B')
            {
                if(b)puts("Yellow");
                else puts("Red");
            }
            if(s[i]=='L')
            {
                if(a)puts("Red");
                else puts("Yellow");
            }
        }
    }

    return 0;
}

A – 8球胜负(eight)

输入包蕴多组数据。每组数据第一行是一个平头NN(1≤N≤151≤N≤15),表示打进的球的个数,N=0N=0表示截止。随后有一行,包蕴NN个字符,依序表示打进的是何种球。如若是BB,表示是红方打进的黑球,假如是LL,表示是黄方打进的黑球。假诺是YY则代表是黄球,RR代表红球。字符间没有空格。

 

 


 

1≤N≤1000001≤N≤100000

Yellow 
Red

Submit Status

 

卿学姐终于从天行廖那里结束学业啦。出山的卿学姐首先来到了一个古怪的农庄。

//最终选拔不改重写了 明明就是个暴力模拟QAQ

也就是说链上的率先个体是否好人 没有意思

日复一日,年复一年,春去秋来。

Description


Time
Limit:
1000MS     Memory Limit:65535KB     64bit IO Format:%lld
& %llu

 

 


现在交给打进的球(白球除外)的次第,以及黑球由哪方打进,你的天职是判断哪方是赢家。

享有输入都满意如下条件:最终一颗球打进时那局竞赛正好截止,而且打进的红球和黑球都不超过77个。

Hint

 

 


人们开头互相指控,每个人都会说其余一个人是还是不是是好人。

H – 卿学姐与诡谲村庄

唯独机智的卿学姐意识到可以透过这么些人的控告来辨别。

 

率先行一个平头NN,表示村庄总共有NN个人,村民从11开始编号到NN