CodeForces 595B Pasha and Phone

原创 2016年06月01日 10:31:12

CodeForces 595B Pasha and Phone

Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u

Description

Pasha has recently bought a new phone jPager and started adding his friends’ phone numbers there. Each phone number consists of exactly n digits.

Also Pasha has a number k and two sequences of length n / k (n is divisible by k) a1,a2,...,an/k and b1,b2,...,bn/k. Let’s split the phone number into blocks of length k. The first block will be formed by digits from the phone number that are on positions 1, 2,…, k, the second block will be formed by digits from the phone number that are on positions k + 1, k + 2, …, 2·k and so on. Pasha considers a phone number good, if the i-th block doesn’t start from the digit bi and is divisible by ai if represented as an integer.

To represent the block of length k as an integer, let’s write it out as a sequence c1, c2,…,ck. Then the integer is calculated as the result of the expression c110k1+c210k2+ck.

Pasha asks you to calculate the number of good phone numbers of length n, for the given k, ai and bi. As this number can be too big, print it modulo 109+7.

Input

The first line of the input contains two integers n and k (1 ≤ n ≤ 100 000, 1 ≤ k ≤ min(n, 9)) — the length of all phone numbers and the length of each block, respectively. It is guaranteed that n is divisible by k.

The second line of the input contains n / k space-separated positive integers — sequence a1,a2,...,an/k (1 ≤ ai< 10k).

The third line of the input contains n / k space-separated positive integers — sequence b1,b2,...,bn/k (0 ≤bi ≤ 9).

Output

Print a single integer — the number of good phone numbers of length n modulo 109+7.

Sample Input

Input

6 2
38 56 49
7 3 4

Output

8

Input

8 2
1 22 3 44
5 4 3 2

Output

32400

Hint

In the first test sample good phone numbers are: 000000, 000098, 005600, 005698, 380000, 380098, 385600, 385698

链接在这: 题目链接


题意:求n位且满足以下两点的号码数量

把号码分成k份(可能以0开头)
1. 第i份是ai的倍数;
2. 第i份不能是以bi开头的数;

按份for循环找一遍,再取模相乘
注意讨论bi是否为0,pow有误差。

代码:

#include<stdio.h>
#define mod 1000000007
int a[100005];
int b[100005];
int ans[100005];
long long mypow(int a,int b)
{
    long long ans=1;
    for(int i=0; i<b; i++)
        ans*=10;
    return ans;
}
int main()
{
    int n,k;
    while(~scanf("%d %d",&n,&k))
    {
        for(int i=0; i<n/k; i++)
            scanf("%d",&a[i]);
        for(int i=0; i<n/k; i++)
            scanf("%d",&b[i]);
        for(int i=0; i<n/k; i++)
        {
            if(b[i]==0)
            {
                ans[i]+=((mypow(10,k)-1)/a[i])+1;
                ans[i]-=(mypow(10,k-1)-1)/a[i]+1;
            }
            else
            {
                ans[i]+=((mypow(10,k)-1)/a[i])+1;
                ans[i]-=(mypow(10,k-1)*(b[i]+1)-1)/a[i]-(mypow(10,k-1)*(b[i])-1)/a[i];
            }
        }
        long long ans2=1;
        for(int i=0; i<n/k; i++)
        {
            ans2*=ans[i];
            ans2%=mod;
        }
        printf("%lld\n",ans2);
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

【codeforces 732E】【贪心 map乱搞】

传送门:http://codeforces.com/contest/732/problem/E 描述: E. Sockets time limit per t...
  • guhaiteng
  • guhaiteng
  • 2016年10月22日 15:32
  • 549

codeforces上一种应对大测试数据debug方法

接触codeforces时间不长,也就参加了10场左右。之前有次比赛就出现了wa了一道题,在比赛结束后看测试数据log时,发现出错的那组用例是个超过一万行输入的情况,codeforces上的测试数据无...
  • qq_29070399
  • qq_29070399
  • 2017年02月03日 16:09
  • 779

关于codeforces比赛规则介绍(转载)

Codeforces 简称: cf(所以谈论cf的时候经常被误会成TX的那款游戏). 网址: codeforces.com   这是一个俄国的算法竞赛网站,由来自萨拉托夫州立大学、由Mike Mirz...
  • y990041769
  • y990041769
  • 2014年02月19日 08:41
  • 15600

python爬虫抓取codeforces分数

环境介绍 python 2.7.2 re 正则表达式库 urllib2 代码#coding:utf8 import sys import urllib2,redef getrating(name): ...
  • qscqesze
  • qscqesze
  • 2016年11月17日 22:02
  • 479

Android Phone进程启动过程详解

之前解决开机搜网慢的问题时,由于Phone进程起来以后,才会主动连接RILD,因而在一定程度上Phone进程启动的时间会影响网络状态注册的快慢,适当的将Phone进程提前,可以将网络注册时间提前一点,...
  • wang2119
  • wang2119
  • 2017年02月21日 16:07
  • 2817

Codeforces 708D 费用流 (呃我们的考试题)

NB的题目背景 输入输出一样考试的时候貌似只有gzz一个人搞出来了 %gzz思路: 分情况讨论 add(x,y,C,E) C是费用 E是流量 1. f>c add(x,y,2,inf),...
  • qq_31785871
  • qq_31785871
  • 2017年01月05日 17:56
  • 736

【Codeforces708C】【树形dp】【贪心】Centroids

Centroids Time Limit: 4000MS Memory Limit: 524288KB 64bit IO Format: %I64d & %I64u ...
  • u011327397
  • u011327397
  • 2016年10月14日 11:24
  • 425

CodeForces 165C--字符串(暴力)

题意: 给一个数字 k (k k 的子串? 输入: 1       1010 2       01010 100   01010 输出: 6 4 0 分析:直接暴...
  • shao1996
  • shao1996
  • 2016年07月14日 16:08
  • 179

关于codeforces比赛规则介绍(转载)

Codeforces 简称: cf(所以谈论cf的时候经常被误会成TX的那款游戏). 网址: codeforces.com   这是一个俄国的算法竞赛网站,由来自萨拉托夫州立大学、由Mike M...
  • liujian20150808
  • liujian20150808
  • 2016年01月24日 22:13
  • 487

Codeforces 375D 数据结构(好题中的好题, 4解)

题目链接:http://codeforces.com/problemset/problem/375/D 全部代码: 题意:给你一棵树n个点,m次询问(n=100000,m=100000),每个节点有一...
  • c3568
  • c3568
  • 2014年03月25日 19:38
  • 1431
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CodeForces 595B Pasha and Phone
举报原因:
原因补充:

(最多只允许输入30个字)