CodeForces Canada Cup 2016 A、B水题 _(:з」∠)_

来源:互联网 发布:单片机开发系统 编辑:程序博客网 时间:2024/05/17 07:27

哭哭哭哭哭哭哭

又降了4。。。。。。

这次吸取的教训是。。。本来就是个做题慢的傻逼。。。。一定要准时题目一开就开始做。。。。。不然就等着降名次吧,。。。。。

开始四十多分钟才开进去的。。。。。再给我四十分钟。。。。岂可修。。。。。

而且提交也要谨慎啊!!wa了两次就给扣了100分。。。。哭哭哭哭哭哭哭

上瘾了。。。。打排位好爽啊!!!一定会把名字升上去的

今天zyyyyy他们的icpc沈阳赛诶,刚刚看了一下榜。。。可怕。。。。比ccpc激烈好多

希望他们能反超!!

A. Jumping Ball
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

In a new version of the famous Pinball game, one of the most important parts of the game field is a sequence of n bumpers. The bumpers are numbered with integers from 1 to n from left to right. There are two types of bumpers. They are denoted by the characters '<' and '>'. When the ball hits the bumper at position i it goes one position to the right (to the position i + 1) if the type of this bumper is '>', or one position to the left (to i - 1) if the type of the bumper at position i is '<'. If there is no such position, in other words if i - 1 < 1 or i + 1 > n, the ball falls from the game field.

Depending on the ball's starting position, the ball may eventually fall from the game field or it may stay there forever. You are given a string representing the bumpers' types. Calculate the number of positions such that the ball will eventually fall from the game field if it starts at that position.

Input

The first line of the input contains a single integer n (1 ≤ n ≤ 200 000) — the length of the sequence of bumpers. The second line contains the string, which consists of the characters '<' and '>'. The character at the i-th position of this string corresponds to the type of the i-th bumper.

Output

Print one integer — the number of positions in the sequence such that the ball will eventually fall from the game field if it starts at that position.

Examples
input
4<<><
output
2
input
5>>>>>
output
5
input
4>><<
output
0
Note

In the first sample, the ball will fall from the field if starts at position 1 or position 2.

In the second sample, any starting position will result in the ball falling from the field.


水题啊,秒过有没有

#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>using namespace std;int main(){    string in;    int n;    scanf("%d",&n);    cin>>in;    int i;    int ans=0;    bool flag = true;    if(in[0]!='<'){        flag = false;    }    for(i=0;i<n;i++){        if(in[i]=='>'){            break;        }        if(flag){            if(in[i]=='<'){                ans++;            }        }else{            break;        }    }    flag = true;    if(in[n-1]!='>'){        flag = false;    }    for(i=n-1;i>=0;i--){        if(in[i]=='<'){            break;        }        if(flag){            if(in[i]=='>'){                ans++;            }        }else{            break;        }    }    printf("%d\n",ans);    return 0;}

B. Food on the Plane
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

A new airplane SuperPuperJet has an infinite number of rows, numbered with positive integers starting with 1 from cockpit to tail. There are six seats in each row, denoted with letters from 'a' to 'f'. Seats 'a', 'b' and 'c' are located to the left of an aisle (if one looks in the direction of the cockpit), while seats 'd', 'e' and 'f' are located to the right. Seats 'a' and 'f' are located near the windows, while seats 'c' and 'd' are located near the aisle.

 

It's lunch time and two flight attendants have just started to serve food. They move from the first rows to the tail, always maintaining a distance of two rows from each other because of the food trolley. Thus, at the beginning the first attendant serves row 1 while the second attendant serves row 3. When both rows are done they move one row forward: the first attendant serves row 2 while the second attendant serves row 4. Then they move three rows forward and the first attendant serves row 5 while the second attendant serves row 7. Then they move one row forward again and so on.

Flight attendants work with the same speed: it takes exactly 1 second to serve one passenger and 1 second to move one row forward. Each attendant first serves the passengers on the seats to the right of the aisle and then serves passengers on the seats to the left of the aisle (if one looks in the direction of the cockpit). Moreover, they always serve passengers in order from the window to the aisle. Thus, the first passenger to receive food in each row is located in seat 'f', and the last one — in seat 'c'. Assume that all seats are occupied.

Vasya has seat s in row n and wants to know how many seconds will pass before he gets his lunch.

Input

The only line of input contains a description of Vasya's seat in the format ns, where n (1 ≤ n ≤ 1018) is the index of the row and s is the seat in this row, denoted as letter from 'a' to 'f'. The index of the row and the seat are not separated by a space.

Output

Print one integer — the number of seconds Vasya has to wait until he gets his lunch.

Examples
input
1f
output
1
input
2d
output
10
input
4a
output
11
input
5e
output
18
Note

In the first sample, the first flight attendant serves Vasya first, so Vasya gets his lunch after 1 second.

In the second sample, the flight attendants will spend 6 seconds to serve everyone in the rows 1 and 3, then they will move one row forward in 1 second. As they first serve seats located to the right of the aisle in order from window to aisle, Vasya has to wait 3 more seconds. The total is 6 + 1 + 3 = 10.


这题怎么说呢。。。其实静下心来推应该还是能很快解决的,我一定要相信自己前三题是没问题的啊

可能晚上在床上熄灯了没有纸和笔只能瞎jb推。。。。不对。。。。就是我的脑子不清楚。。。。

不行啊kyoma君。。。

这题就是说飞机上空姐给乘客发放食物,推车往前走一排需要1s,给一个乘客发放食物需要1s,每一排发放食物的顺序都是fedabc,发饭食物的策略是有两个小姐姐,先服务1、3排,往前推一排,再服务第2、4排,接着往前推3排,服务5、7排。。。。。以此类推

坐在某个位子上的乘客想知道他要等多久才能拿到食物

脑残wa了两回

哭哭哭哭哭哭哭

#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>#include <sstream>using namespace std;int main(){    long long n;    string in;    cin>>in;    char a = in[in.length()-1];    string now = in.substr(0,in.length()-1);    stringstream change;    change << now;    change >> n;    //cout<<n<<endl;    long long result = 0;        if(a=='a'){        result += 4;    }else if(a=='b'){        result += 5;    }else if(a=='c'){        result += 6;    }else if(a=='d'){        result += 3;    }else if(a=='e'){        result += 2;    }else{        result += 1;    }        long long mae4 = (n-1)/4;        int dem = n%4;    result += mae4*12;    if(mae4>1){        result += mae4 + 3*mae4;    }else if(mae4==1){        result += 4;    }    if(dem==2||dem==0){        result +=(1+6);    }    printf("%I64d\n",result);    return 0;}




0 0
原创粉丝点击