(以“分类:模拟与排序分类:贪心 ==摘要== {{信息题|Poster|http://acm.hust.edu.cn/vjudge/contest/view.action?cid{{=}}70594#problem/C|1|100|边界判...”为内容创建页面) |
小 (→摘要: 题号) |
||
第1行: | 第1行: | ||
[[分类:模拟与排序]][[分类:贪心]] | [[分类:模拟与排序]][[分类:贪心]] | ||
==摘要== | ==摘要== | ||
− | {{信息题|Poster|http://acm.hust.edu.cn/vjudge/contest/view.action?cid{{=}}70594#problem/ | + | {{信息题|Poster|http://acm.hust.edu.cn/vjudge/contest/view.action?cid{{=}}70594#problem/D|1|100|边界判断错误|2|time=2015-02-24 12:55:38}} |
− | *来自寒假练习:[http://acm.hust.edu.cn/vjudge/contest/view.action?cid=70594 2015 Winter Warm up div2] | + | *来自寒假练习:[http://acm.hust.edu.cn/vjudge/contest/view.action?cid=70594 2015 Winter Warm up div2] D题 |
*原题链接:http://codeforces.com/problemset/problem/412/A | *原题链接:http://codeforces.com/problemset/problem/412/A | ||
+ | |||
==题意== | ==题意== | ||
在位置X,可以向左、向右移动或者填字母,问填完所有字母的步骤。 | 在位置X,可以向左、向右移动或者填字母,问填完所有字母的步骤。 |
题目链接 | 难度等级 | 完成状态 | 完成分数 | 最后编辑时间 | 失误原因(初次提交分数) |
---|---|---|---|---|---|
Poster | ★☆☆☆☆ | 答案正确 | 100 | 2015-02-24 12:55:38 | 边界判断错误(2) |
在位置X,可以向左、向右移动或者填字母,问填完所有字母的步骤。
首先移到最近的旁边(因为最边上的肯定要过去)然后一个个填就好惹。模拟题。
412A.cpp代码已折叠
展开折叠内容
|
---|
#include<cstdio> #include<iostream> #include<string> #include<algorithm> using namespace std; #define dsi(n) int n;scanf("%d",&n) #define si(n) scanf("%d",&n) #define f(i,n) for(int i=1;i<=n;++i) #define fi(n) f(i,n) #define f0(i,n) for(int i=0;i!=n;++i) #define fd(i,n) for(int i=n;i>=1;--i) #define ci const int& #define foreach(i,s) for(typeof(s.begin()) i=s.begin();i!=s.end();++i) #define c(x) const x& class st { int x,y; friend bool operator <(const st&a,const st&b){return a.x<b.x;} }; string s; int main() { int n,k; cin>>n>>k>>s; if(k>(n>>1))//fixed:边界数值问题// { fi(n-k)cout<<"RIGHT\n"; for(int i=s.size()-1;i>=0;--i) { cout<<"PRINT "<<s[i]<<endl; if(i!=0)cout<<"LEFT\n"; } } else { fi(k-1)cout<<"LEFT\n"; for(int i=0;i<s.size();++i) { cout<<"PRINT "<<s[i]<<endl; if(i!=s.size()-1)cout<<"RIGHT\n"; } } } |