【题目链接】:http://codeforces.com/contest/239/problem/B

【题意】



给你一个长度为n的字符串,只包括‘<”>’以及数字0到9;

给你q个区间(n和q都小于等于100)

然后让你在这q个区间里面做一些操作;

有一个指针int,指向当前操作的位置,还有一个方向的int;

表示这个指针它要移动的方向;

每次对一个位置进行操作;

如果该位置是数字;

则把这个数字输出,然后这个数字递减1;

如果数字小于0了,则把它删掉;

然后把指针往方向int的方向移动一个单位;

如果是’>’或’<’则,把方向改成左或右;

然后往新的方向走,如果走了一步之后还是’<’或’>’

则把前一个’<’或’>’删掉;

问你最后0..9各输出了多少个;

【题解】



每次模拟一步即可;

直到cp指针跳出了区间为止;

可以用数组来模拟链表的删除过程;

对每个区间的操作,都把数组链表初始化一下即可;



【Number Of WA 】



0



【反思】



这种模拟删掉的过程用数组模拟链表的方法都比较方便;



【完整代码】

#include <bits/stdc++.h>
#define rep1(i,x,y) for (int i = x;i <= y;i++)
#define rep2(i,x,y) for (int i = x;i >= y;i--)
using namespace std; const int N = 100+10; int n,q,l,r,a[N][2],cp,dp,num;
int tot[10];
string s,s1; void get_next(){
int ll = a[cp][0],rr = a[cp][1],tcp = cp;
if (s1[cp]>='0' && s1[cp]<='9'){
cp = a[cp][dp];
num++;
tot[s1[tcp]-'0']++;
s1[tcp]--;
if (s1[tcp]<'0'){
a[ll][1] = rr;
a[rr][0] = ll;
}
}else{
if (s1[cp]=='<')
dp = 0;
else
dp = 1;
cp = a[cp][dp];
if (cp < l || cp > r) return;
if (s1[cp]>='0' && s1[cp]<='9') return;
a[ll][1] = rr,a[rr][0] = ll;
}
} int main(){
//freopen("D:\\rush.txt","r",stdin);
cin >> n >> q;
cin >> s;
s = ' ' + s;
rep1(i,1,q){
num = 0;
s1 = s;
cin >> l >> r;
rep1(j,l,r)
a[j][0] = j-1,a[j][1] = j+1;
rep1(j,0,9)
tot[j] = 0;
cp = l,dp = 1;
while (1){
get_next();
if (cp <l || cp>r) break;
}
rep1(j,0,9)
cout << tot[j] <<' ';
cout << endl;
}
return 0;
}

【codeforces 239B】Easy Tape Programming的更多相关文章

  1. 【Codeforces 1096D】Easy Problem

    [链接] 我是链接,点我呀:) [题意] 让你将一个字符串删掉一些字符. 使得字符串中不包含子序列"hard" 删掉每个字符的代价已知为ai 让你求出代价最小的方法. [题解] 设 ...

  2. 【codeforces 415D】Mashmokh and ACM(普通dp)

    [codeforces 415D]Mashmokh and ACM 题意:美丽数列定义:对于数列中的每一个i都满足:arr[i+1]%arr[i]==0 输入n,k(1<=n,k<=200 ...

  3. 【codeforces 761C】Dasha and Password(动态规划做法)

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  4. 【codeforces 761C】Dasha and Password(贪心+枚举做法)

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  5. 【32.22%】【codeforces 602B】Approximating a Constant Range

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  6. 【35.02%】【codeforces 734A】Vladik and flights

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  7. 【74.89%】【codeforces 551A】GukiZ and Contest

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  8. 【codeforces 750F】New Year and Finding Roots

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  9. 【29.89%】【codeforces 734D】Anton and Chess

    time limit per test4 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

随机推荐

  1. kvm三个kernel相关的调优

    今天在杭州参加淘宝嘉年华技术沙龙,主题是虚拟化和云计算,三个讲演: 淘宝网子团分享淘宝kvm技术的使用 华为的杨晓伟介绍虚拟化技术 阿里云郑永升介绍弹性云计算技术 其中KVM 调优,三点值得关注的: ...

  2. HDU 5288 OO’s Sequence [数学]

     HDU 5288 OO’s Sequence http://acm.hdu.edu.cn/showproblem.php?pid=5288 OO has got a array A of size ...

  3. ActiveMQ_Windows和Linux版本的安装部署

    1, 保证电脑上安装了jdk6以上版本的java,并配置了好环境变量 : 2, 官方下载地址:http://activemq.apache.org/download-archives.html ,这里 ...

  4. 洛谷 P1278 单词游戏

    P1278 单词游戏 题目描述 Io和Ao在玩一个单词游戏. 他们轮流说出一个仅包含元音字母的单词,并且后一个单词的第一个字母必须与前一个单词的最后一个字母一致. 游戏可以从任何一个单词开始. 任何单 ...

  5. java ee服务器/应用服务器的理解

    42.由Apache.Sun 和其他一些公司及个人共同开发而成.由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现.43.可以这样认为,当在一台机器上配 ...

  6. n个骰子,和为x的概率分别是多少

    开始我居然又没有想出来.. 还是看了解法.开始的时候,一直想的是用概率,百分比来求,后来才发现,用次数来求,最后除一下,更近清晰. 方法,可以是递归,每次多一个骰子的时候,次数分别加上个数以及上一次i ...

  7. 外网主机如何将数据包发送到共用一个公网IP的局域网某特定主机上的

    内网的一台电脑要上因特网对外开放服务或接收数据.都须要port映射.port映射分为动态和静态. 动态port映射:内网中的一台电脑要訪问站点.会向NAT网关发送数据包.包头中包含对方站点IP.por ...

  8. Android之——自己定义TextView

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47082241 在这一篇博文中,将向大家介绍怎样以最简单的方式,来自己定义Andro ...

  9. PyCharm基本设置、常用快捷键

    1. 下载安装 PyCharm官方下载地址:  https://www.jetbrains.com/pycharm/download/index.html#section=windows 安装完成后在 ...

  10. [jzoj 5343] [NOIP2017模拟9.3A组] 健美猫 解题报告 (差分)

    题目链接: http://172.16.0.132/senior/#main/show/5343 题目: 题解: 记旋转i次之后的答案为$ans_i$,分别考虑每个元素对ans数组的贡献 若$s_i& ...