NOJ-1682減少文字列問題

3172 ワード

減算文字列問題時間制限(通常/Java):1000 MS/3000 MS実行メモリ制限:81920 KByte総コミット:218テスト合格:41試合は非減算文字列に記述され、左から右の文字はASCコードの非減算順に配列され、例えばabcd、他の4文字からなる非減算文字列にはaaa、aabb、aaab、abccなどがある.ここで、文字列は、a、b、c、d、e、f、g、h、i、jの10文字からなると仮定する.特定の長さの非減算文字列の数をプログラミングしてください.非減算文字列では、左から右の文字が、例えばabcd、他の4文字からなる非減算文字列、aaaaa、aaabb、aaab、abccなど、ASCコードの非減算順に並べられている.ここで、文字列は、a、b、c、d、e、f、g、h、i、jの10文字からなると仮定する.特定の長さの非減算文字列の数をプログラミングしてください.非減算文字列では、左から右の文字が、例えばabcd、他の4文字からなる非減算文字列、aaaaa、aaabb、aaab、abccなど、ASCコードの非減算順に並べられている.ここで、文字列は、a、b、c、d、e、f、g、h、i、jの10文字からなると仮定する.特定の長さの非減算文字列の数をプログラミングしてください.
入力
入力は複数の試験用例を含み、まず試験用例数P(1≦P≦1000)を与え、次にP個の試験用例を与える.各試験例は、スペースで区切られた2つの整数を与える行を含み、1番目の整数は試験例シーケンス番号を表し、2番目の整数は文字列の長さN(1≦N≦64)を表す.
しゅつりょく
出力は複数行を含み、各試験例に対して1行を出力し、スペースで区切られた2つの整数を出力し、1番目の整数は試験例シーケンス番号であり、2番目の整数は長さNの非減算文字列数を与える.
サンプル入力2 1 4 2 3
サンプル出力1 715 2 220
タイトルソースNUPT
#include <iostream>
#include <cstdio>
using namespace std;
long long  f[70];
long long  num[10]={1,1,1,1,1,1,1,1,1,1};
void calu()
{
    for(int i=0;i<70;i++)
    {
        for(int j=0;j<10;j++)
            f[i]+=num[j];
        for(int q=0;q<10;q++)
            for(int p=q+1;p<10;p++)
            num[q]+=num[p];
    }
}
int main()
{
    int T;
    scanf("%d",&T);
    calu();
    while(T--)
    {    
        int n,m;
        scanf("%d%d",&n,&m);
        printf("%d %I64d
"
,n,f[m-1]); } return 0; }