BSOJ4835刷漆(Codechef October Challenge 2014:Remy paints the fence)

阅读: 评论:0

BSOJ4835刷漆(Codechef October Challenge 2014:Remy paints the fence)

BSOJ4835刷漆(Codechef October Challenge 2014:Remy paints the fence)

BSOJ4835 -- 【模拟试题】刷漆 Description 你的花园里有一个由N块排成一条直线的木板组成的栅栏,木板从左到右依次标号1到N。这N块木板中,有M块木板前面放着一桶油漆。油漆有不同的颜色,每种颜色可以由一个大写字母表示(A到Z)。而你要求Czy用他的油漆刷子给栅栏刷上油漆。 已知Czy会选择一个前方放有油漆桶的木板开始他的任务。刷子蘸上油漆后,他开始随机地沿着栅栏走,他不会走出栅栏的范围。随机地走表示Czy会沿着他选择的方向一直走,然后随机在任何时候改变方向。沿着栅栏走只有两个方向,向前和向后。 你发现Czy刷油漆的过程总是符合下列规则: • 每个油漆桶里装着无限多的油漆; • 刷子上每次只有一种颜色的油漆,每次蘸油漆都会完全替换刷子上的油漆颜色; • 当Czy走到一个油漆桶前,他会首先用刷子蘸这个油漆桶里的油漆; • Czy每走过一个木板都会将这个木板刷成当前刷子上的油漆颜色。 已知木板可以被多次刷上油漆,每次都会完全覆盖之前的颜色。当所有木板都被刷上了油漆的时候,Czy才能停下来(当然他也可以继续刷到他想停下来为止)。你看着Czy在栅栏前来回舞动,突然想知道Czy停下来的时候栅栏有多少种可能的不同油漆方案。定义当至少有一块木板颜色不同时,两种油漆方案被视为是不同的。 请你输出不同的油漆方案数对109+9取模的值。 Input 输入的第一行包含两个整数N和M。 接下来M行,每行两个整数x和y,表示第y块木板前面有一个装着颜色为x的油漆的油漆桶。 Output 输出一行,包含一个整数,表示不同的油漆方案数对10^9 + 9取模的结果。 Sample Input 6 2 A 2 B 6 Sample Output 4 Hint 【数据范围】 对于30% 的数据,1 ≤ M ≤ N ≤ 100。 对于100% 的数据, 1 ≤ M ≤ N ≤ 100000。 x是A到Z之间的大写字母;1 ≤ y ≤ N。
分析样例可知,如果两个油漆桶(颜色不一样)之间有i块木板,那么可以分成两部分,那么在这一段就衍生出了i种方案(画图很容易就明白了)。 注意这是乘法原理乘法原理乘法原理,考试的时候脑子一抽写个加法原理自信走人,雪崩。 还是太嫩啊。 注意sort。
#include<iostream>
#include<iomanip>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<algorithm>
#define mod 1000000009
using namespace std;
struct node{int pos;char c;
}w[100005];
long long n,m,ans=1;
bool cmp(node a,node b)
{
        return a.pos<b.pos;
}
int main(){
        cin>>n>>m;
        for(int i=1;i<=m;i++)
          cin>>w[i].c>>w[i].pos;
        sort(w+1,w+m+1,cmp);
        for(int i=2;i<=m;i++)
        {
                if(w[i].c!=w[i-1].c)
                  ans=(ans%mod*(w[i].pos-w[i-1].pos)%mod)%mod;
        }
        cout<<ans;
        return 0; }

本文发布于:2024-01-31 13:54:48,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170668049129006.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Codechef   October   刷漆   Challenge   paints
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23