葡京娱乐十大排名微软Nokia 222:可拍只是上网 售价37美元 32GB的microSD卡扩展

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

腾讯科技讯
8月27日,在几所有厂商还在智能手机领域大肆拼杀的时光,微软新近倒不声不响地宣布了一样悠悠功能手机Nokia
222。

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

手上,尽管世上多发达国家的居住者都针对互联网已经再熟悉而了,但骨子里全球还有众多地方的人们还没能抱抱这无异于“新鲜事物”。对斯,许多科技企业近年来还准备找到会给这数十亿口接抱互联网的卓有成效方式,而针对性这部分人群推出有互联网接入功能的法力手机肯定是方之一。

  前几天以博客园望这种在线测试的下,有一样栽近之感到,于是随便选了同道感谢兴趣的书(No.1258:Pool)开始举行。为了准确了解题的意,我将开翻译成汉语了,这道题之原理和台球很相似(由于原先经常玩可乐8,所以本着台球的问题感到亲切)。但无掌握干什么起题人将台球问题说成了一个程序员撞墙的题材。下面是本身翻译后底,英语不好,译错的地方要见谅。

因,微软最新发表的Nokia
222瓜分单SIM卡与双SIM卡片个版本。该设备不仅所有了主导的上网功能,同时还同意用户拍摄,并得以省事的及别人分享好玩之互联网内容。

  

葡京娱乐十大排名 1

问题:

除内置有200万像从的后置摄像头外,Nokia 222尚预装有Opera
Mini浏览器、GroupMe、Facebook、Messenger、Bing搜索以及Twitter这些核心使用来满足用户的上网需求。

 

还使得人咋舌之是,该装置的电池续航时间特别震惊。微软代表,Nokia
222每当单SIM操作环境下之电池组待机时间达到了29龙,而双SIM卡状态下之待机时间也达到了21上。

1258. Pool

运行时限定: 1.0 秒
内存限制: 16 MB

葡京娱乐十大排名 2

 

当午休的下,程序员Vasechkin喜欢当外的矩形房间里游荡。他从外干活之地方开始散步,直到他出矣再起工作之心劲才告一段落。我们早已解当Vasechkin撞墙时,他的动规律相当符合“入射角等于反射角”定律。并且Vasechkin走的路径是异常直的线。凶狠的办公室官员决定找有他荒废了聊日子以走走上。显然Vasechkin走过的长除因他的平均速度(事先测量)可得出所用底时空。所以要明白这个长度!并且从Vasechkin的打中会明了的明Vasechin的相遇墙顺序。可能还有更简约的方计算出程序员所浪费之年月,但是办公室领导认为就是釜底抽薪问题之顶尖办法。

以通话续航方面,无论是单卡还是双卡状态下诺基亚222底通话续航时间还上了20钟头,且内置有FM收音机和MP3音乐播放器。同时,诺基亚222用户可以每个月打Gameloft下载相同缓游戏,其中就包括《刺客信条:兄弟会》(Assassin’s
Creed Brotherhood)、《午夜台球3》(Midnight Pool 3)这些知名大作。

输入

率先实践由少数个整数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.
本条程序员永远不见面逢在墙角,并且他的开场位置不会见贴在墙上。

依据,诺基亚222底重点布局包括2.4英寸QVGA屏幕、支持蓝牙与最高32GB的microSD卡扩展。该机器

输出

Vasechkin从起点到极点所走之尺寸,保留小数点后四各类。

例子

input output
            10 20
            9 1
            1 19
            FLRLRB
52.8015

 

出题人: Pavel Egorov
题来源: 2003年10月11日斯维尔德洛夫斯克州大学生编程公开赛

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

概括明了就是是:给长宽,起点和顶峰,撞边的情事,最后请的凡轨道的长短。
依下图,做辅助图后,可以较容易之基于勾股定理求来斜边。
葡京娱乐十大排名 3

X0,X1,Y0,Y1,W,D这些都是就知道之,接下去便分析碰撞顺序与这些量之涉嫌。

X方向的动和Y方向的得独家分析。
X方向的各移规律找出来了,Y方向的动也是千篇一律的。
匪遇墙时:(X0-X1)^2和(X1-X0)^2凡同一的,为了和下面统一,所以将X0写于头里
葡京娱乐十大排名 4

重分析一下系数的法则:
葡京娱乐十大排名 5

规律已经比较强烈:
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 }

 

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

葡京娱乐十大排名 6