您的位置:首页 > 其它

Codeforces 752C Santa Claus and Robot 思维

2016-12-25 21:24 363 查看
点击打开链接

题意:给出路线,要求在上面放p个点(p尽量小&&pi,pi+1之间为最短路径)

思路 若s[i]和s[j]为pk和pk+1,因为pk->pk+1是最短路径 所以s[i]->s[j]的路径是递增的,(即路径是:曼哈顿距离) 找到最长递增序列的个数即可

#include <iostream>

using namespace std;

int n, Left, Right, Down, Up, sum = 1;
string s;

int main()
{
cin >> n >> s;
for(int i =  0 ; i < n ; i++){
if(s[i] == 'U' && Down){
sum++;
Down = Right = Left = Up = 0;
}
if(s[i] == 'D' && Up){
sum++;
Down = Right = Left = Up = 0;
}
if(s[i] == 'L' && Right){
sum++;
Down = Right = Left = Up = 0;
}
if(s[i] == 'R' && Left){
sum++;
Down = Right = Left = Up = 0;
}
if(s[i] == 'U')
Up++;
if(s[i] == 'D')
Down++;
if(s[i] == 'R')
Right++;
if(s[i] == 'L')
Left++;
}
cout << sum << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: