浙江中醫藥大學12屆程序設計大賽(未完待續)

 第一題  html

題目 https://ac.nowcoder.com/acm/contest/334/Anode

永恆的經典  ios

#include <stdio.h>
int main(int argc, char *argv[])
{
    printf("Helle World!\n");
    return 0;
}
View Code

第二題c++

題目 https://ac.nowcoder.com/acm/contest/334/B數組

巴什博弈ide

只有一堆n個物品,兩我的輪流從這堆物品中取物,規定每次至少取一個,最多取m個。最後取光者得勝。顯然,若是n=m+1,那麼因爲一次最多隻能取m個,因此,不管先取者拿走多少個,後取者都可以一次拿走剩餘的物品,後者取勝。spa

所以咱們發現瞭如何取勝的法則:若是n=(m+1)r+s,(r爲任意天然數,s≤m),那麼先取者要拿走s個物品,若是後取者拿走k(≤m)個,那麼先取者再拿走m+1-k個,結果剩下(m+1)(r-1)個,之後保持這樣的取法,那麼先取者確定能獲勝。總之,3d

要保持給對手留下(m+1)的倍數,就能最後獲勝。code

#include <stdio.h>
int main(int argc, char *argv[])
{
    int n,m;
    while(~scanf("%d%d",&n,&m))
    {        
        if(n>=m)
        {
            for(int i=m;i<n;++i)
            printf("%d ",i);
            printf("%d\n",n);
        }
        else if(m%(n+1)==0)
        printf("You are loser\n");
        else
        printf("%d\n",m%(n+1));
    }
    return 0;
}
View Code

第三題 htm

題目 https://ac.nowcoder.com/acm/contest/334/C

第四題

題目 https://ac.nowcoder.com/acm/contest/334/D

送分題 取最大值減去手臂長度便可,注意數據範圍恰好比 int 大,不是 INT_MAX

#include <cstdio>
#include <algorithm>
typedef long long ll;
using namespace std;
int main(int argc, char *argv[])
{    
    ll n,l,maxn=-1,a;
    scanf("%lld%lld",&n,&l);
    for(int i=1;i<=n;++i)
    {
        scanf("%lld",&a);
        maxn=max(maxn,a);
    }
    if(maxn>l)
    printf("%lld\n",maxn-l);
    else
    printf("0\n");
    return 0;
}
View Code

第五題

題目 https://ac.nowcoder.com/acm/contest/334/E

第六題

題目 https://ac.nowcoder.com/acm/contest/334/F

用遞歸便可

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n,a[100010];
int czcs(int x)
{
    if(x>n) return 0;
    return min(czcs(a[x]),czcs(x+5))+1;
}
int main()
{
    scanf("%d",&n);
    for (int i = 1 ; i <= n ; ++i)
        scanf("%d",&a[i]);
    printf("%d\n",czcs(1)*2); 
    return 0;
} 
View Code

第七題

題目 https://ac.nowcoder.com/acm/contest/334/G

第八題

題目 https://ac.nowcoder.com/acm/contest/334/H

題目要求先找到鑰匙,再回寢室。但發現這樣的順序很難搜索,因此換一個思路,分別從寢室和開始位置去找同一個鑰匙,使得步數和最小,用兩次bfs便可。

類似的題目 https://www.cnblogs.com/Nicholas-Rain/p/10121493.html

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#define MAX 0x3f3f3f3f
using namespace std;
char map[2100][2100];  
struct node
{
    int x;
    int y;
    int step;
};
int n,m;
int STEP[2100][2100];  
int nextd[4][2]={0,1,0,-1,1,0,-1,0};  
void bfs(int x, int y)
{
    bool vis[2100][2100];   
    memset(vis,false,sizeof(vis));
    queue<node>q;        
    node t,s;
    vis[x][y]=true;
    s.x=x;
    s.y=y;
    s.step = 0;
    q.push(s);
    while(!q.empty())
    {
        s=q.front();
        q.pop();
        if (map[s.x][s.y]=='W')
        {
            if (STEP[s.x][s.y]==MAX)    
                STEP[s.x][s.y]=s.step;
            else
                STEP[s.x][s.y]+=s.step;
        }
        for (int i=0;i<4;i++)
        {
            t.x=s.x+nextd[i][0];
            t.y=s.y+nextd[i][1];
            t.step=s.step + 1;
            if(t.x<0||t.x>=n||t.y<0||t.y>=m) continue; 
            if(vis[t.x][t.y]) continue;      
            if(map[t.x][t.y]=='#') continue;   
            vis[t.x][t.y]=true;
            q.push(t);
        }
    }
}
 
int main()
{
    node L,Q;
    int i,j;
    while(~scanf("%d %d",&n,&m))
    {
        getchar();
        memset(STEP,0x3f,sizeof(STEP));
        for(i=0;i<n;i++) 
        {
            scanf("%s",map[i]);
            for(j=0;j<m;j++)
            {
                if(map[i][j]=='L')
                {
                    L.x=i;
                    L.y=j;
                }
                if(map[i][j]=='Q')
                {
                    Q.x=i;
                    Q.y=j;
                }
            }
        }       
        bfs(L.x,L.y);       
        bfs(Q.x,Q.y);
        int min=MAX;
        for(i=0;i<n;i++)        
        {
            for(j=0;j<m;j++)
            {
                if(min>STEP[i][j]) 
                min=STEP[i][j];
            }
        }
        printf("%d\n",min);
    }
    return 0;
}
View Code

第九題

題目 https://ac.nowcoder.com/acm/contest/334/I

水題 用string.find()就能夠了

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int N;scanf("%d",&N);
    int ans = 0 ;
    while (N--){
        string x;cin>>x;
        if (x.find("zailaiyihe") != string::npos){
            ans++;
        } 
    } 
    cout<<ans<<endl;
    return 0;
} 
View Code

第十題

題目 https://ac.nowcoder.com/acm/contest/334/J

遞推,用兩個for就行了,注意取模。

#include <stdio.h>
const int mod = 100000007;
int f[10100];
int main(int argc, char *argv[])
{
    int n,i,j;
    f[0]=1;
    for(i=1;i<=10000;++i)
    {
        f[i]=f[i-1];
        for(j=i-2;j>=0;j-=2)
        {
            f[i]=f[i]+f[j];
            f[i]%=mod;
        }
        f[i]%=mod;
    }
    while(scanf("%d",&n)!=EOF)
    printf("%d\n",f[n]);
    return 0;
}
View Code

第十一題

題目 https://ac.nowcoder.com/acm/contest/334/K

BBP公式 或各類求圓周率的收斂公式 

BBP公式

該公式的直接結果,計算的是十六進制下的圓周率,咱們能夠把十六進制的結果,直接轉換成二進制,且不影響其餘數位。

 

#include <cstdio>
#include <cmath>
#include <iostream>
#define MAX_C 56000
int a = 10000, b, c = MAX_C, d, e, f[MAX_C+1], g, n, ans, cnt;
using namespace std;
int main()
{
    int pp;
     scanf("%d", &n);
    a = 10000;
    b = d = e = g = ans = cnt = 0;
    c = MAX_C; 
    for (; b - c; ) f[b++] = a / 5;
     for (; d = 0, g = c * 2; c -= 14, ans = e + d / a, e = d % a, cnt++) 
     {
         if (cnt * 4 > n) break;
         for (b = c; d += f[b]*a, f[b] = d % --g, d /= g--, --b; d *= b);
     }
     if (n % 4 == 0) cout << (ans / 1000);
     else if (n % 4 == 1) cout << ((ans / 100) % 10);
     else if (n % 4 == 2) cout << ((ans / 10) % 10);
     else if (n % 4 == 3) cout << (ans % 10);
     cout<<endl;
    return 0;
}
View Code

打表

#include<iostream>
using namespace std;
int a[10011]={19260817,1,4,1,5,9,2,6,5,3,5,8,9,7,9,3,2,3,8,4,6,2,6,4,3,3,8,3,2,7,9,5,0,2,8,8,4,1,9,7,1,6,9,3,9,9,3,7,5,1,0,5,8,2,0,9,7,4,9,4,4,5,9,2,3,0,7,8,1,6,4,0,6,2,8,6,2,0,8,9,9,8,6,2,8,0,3,4,8,2,5,3,4,2,1,1,7,0,6,7,9,8,2,1,4,8,0,8,6,5,1,3,2,8,2,3,0,6,6,4,7,0,9,3,8,4,4,6,0,9,5,5,0,5,8,2,2,3,1,7,2,5,3,5,9,4,0,8,1,2,8,4,8,1,1,1,7,4,5,0,2,8,4,1,0,2,7,0,1,9,3,8,5,2,1,1,0,5,5,5,9,6,4,4,6,2,2,9,4,8,9,5,4,9,3,0,3,8,1,9,6,4,4,2,8,8,1,0,9,7,5,6,6,5,9,3,3,4,4,6,1,2,8,4,7,5,6,4,8,2,3,3,7,8,6,7,8,3,1,6,5,2,7,1,2,0,1,9,0,9,1,4,5,6,4,8,5,6,6,9,2,3,4,6,0,3,4,8,6,1,0,4,5,4,3,2,6,6,4,8,2,1,3,3,9,3,6,0,7,2,6,0,2,4,9,1,4,1,2,7,3,7,2,4,5,8,7,0,0,6,6,0,6,3,1,5,5,8,8,1,7,4,8,8,1,5,2,0,9,2,0,9,6,2,8,2,9,2,5,4,0,9,1,7,1,5,3,6,4,3,6,7,8,9,2,5,9,0,3,6,0,0,1,1,3,3,0,5,3,0,5,4,8,8,2,0,4,6,6,5,2,1,3,8,4,1,4,6,9,5,1,9,4,1,5,1,1,6,0,9,4,3,3,0,5,7,2,7,0,3,6,5,7,5,9,5,9,1,9,5,3,0,9,2,1,8,6,1,1,7,3,8,1,9,3,2,6,1,1,7,9,3,1,0,5,1,1,8,5,4,8,0,7,4,4,6,2,3,7,9,9,6,2,7,4,9,5,6,7,3,5,1,8,8,5,7,5,2,7,2,4,8,9,1,2,2,7,9,3,8,1,8,3,0,1,1,9,4,9,1,2,9,8,3,3,6,7,3,3,6,2,4,4,0,6,5,6,6,4,3,0,8,6,0,2,1,3,9,4,9,4,6,3,9,5,2,2,4,7,3,7,1,9,0,7,0,2,1,7,9,8,6,0,9,4,3,7,0,2,7,7,0,5,3,9,2,1,7,1,7,6,2,9,3,1,7,6,7,5,2,3,8,4,6,7,4,8,1,8,4,6,7,6,6,9,4,0,5,1,3,2,0,0,0,5,6,8,1,2,7,1,4,5,2,6,3,5,6,0,8,2,7,7,8,5,7,7,1,3,4,2,7,5,7,7,8,9,6,0,9,1,7,3,6,3,7,1,7,8,7,2,1,4,6,8,4,4,0,9,0,1,2,2,4,9,5,3,4,3,0,1,4,6,5,4,9,5,8,5,3,7,1,0,5,0,7,9,2,2,7,9,6,8,9,2,5,8,9,2,3,5,4,2,0,1,9,9,5,6,1,1,2,1,2,9,0,2,1,9,6,0,8,6,4,0,3,4,4,1,8,1,5,9,8,1,3,6,2,9,7,7,4,7,7,1,3,0,9,9,6,0,5,1,8,7,0,7,2,1,1,3,4,9,9,9,9,9,9,8,3,7,2,9,7,8,0,4,9,9,5,1,0,5,9,7,3,1,7,3,2,8,1,6,0,9,6,3,1,8,5,9,5,0,2,4,4,5,9,4,5,5,3,4,6,9,0,8,3,0,2,6,4,2,5,2,2,3,0,8,2,5,3,3,4,4,6,8,5,0,3,5,2,6,1,9,3,1,1,8,8,1,7,1,0,1,0,0,0,3,1,3,7,8,3,8,7,5,2,8,8,6,5,8,7,5,3,3,2,0,8,3,8,1,4,2,0,6,1,7,1,7,7,6,6,9,1,4,7,3,0,3,5,9,8,2,5,3,4,9,0,4,2,8,7,5,5,4,6,8,7,3,1,1,5,9,5,6,2,8,6,3,8,8,2,3,5,3,7,8,7,5,9,3,7,5,1,9,5,7,7,8,1,8,5,7,7,8,0,5,3,2,1,7,1,2,2,6,8,0,6,6,1,3,0,0,1,9,2,7,8,7,6,6,1,1,1,9,5,9,0,9,2,1,6,4,2,0,1,9,8,9,3,8,0,9,5,2,5,7,2,0,1,0,6,5,4,8,5,8,6,3,2,7,8,8,6,5,9,3,6,1,5,3,3,8,1,8,2,7,9,6,8,2,3,0,3,0,1,9,5,2,0,3,5,3,0,1,8,5,2,9,6,8,9,9,5,7,7,3,6,2,2,5,9,9,4,1,3,8,9,1,2,4,9,7,2,1,7,7,5,2,8,3,4,7,9,1,3,1,5,1,5,5,7,4,8,5,7,2,4,2,4,5,4,1,5,0,6,9,5,9,5,0,8,2,9,5,3,3,1,1,6,8,6,1,7,2,7,8,5,5,8,8,9,0,7,5,0,9,8,3,8,1,7,5,4,6,3,7,4,6,4,9,3,9,3,1,9,2,5,5,0,6,0,4,0,0,9,2,7,7,0,1,6,7,1,1,3,9,0,0,9,8,4,8,8,2,4,0,1,2,8,5,8,3,6,1,6,0,3,5,6,3,7,0,7,6,6,0,1,0,4,7,1,0,1,8,1,9,4,2,9,5,5,5,9,6,1,9,8,9,4,6,7,6,7,8,3,7,4,4,9,4,4,8,2,5,5,3,7,9,7,7,4,7,2,6,8,4,7,1,0,4,0,4,7,5,3,4,6,4,6,2,0,8,0,4,6,6,8,4,2,5,9,0,6,9,4,9,1,2,9,3,3,1,3,6,7,7,0,2,8,9,8,9,1,5,2,1,0,4,7,5,2,1,6,2,0,5,6,9,6,6,0,2,4,0,5,8,0,3,8,1,5,0,1,9,3,5,1,1,2,5,3,3,8,2,4,3,0,0,3,5,5,8,7,6,4,0,2,4,7,4,9,6,4,7,3,2,6,3,9,1,4,1,9,9,2,7,2,6,0,4,2,6,9,9,2,2,7,9,6,7,8,2,3,5,4,7,8,1,6,3,6,0,0,9,3,4,1,7,2,1,6,4,1,2,1,9,9,2,4,5,8,6,3,1,5,0,3,0,2,8,6,1,8,2,9,7,4,5,5,5,7,0,6,7,4,9,8,3,8,5,0,5,4,9,4,5,8,8,5,8,6,9,2,6,9,9,5,6,9,0,9,2,7,2,1,0,7,9,7,5,0,9,3,0,2,9,5,5,3,2,1,1,6,5,3,4,4,9,8,7,2,0,2,7,5,5,9,6,0,2,3,6,4,8,0,6,6,5,4,9,9,1,1,9,8,8,1,8,3,4,7,9,7,7,5,3,5,6,6,3,6,9,8,0,7,4,2,6,5,4,2,5,2,7,8,6,2,5,5,1,8,1,8,4,1,7,5,7,4,6,7,2,8,9,0,9,7,7,7,7,2,7,9,3,8,0,0,0,8,1,6,4,7,0,6,0,0,1,6,1,4,5,2,4,9,1,9,2,1,7,3,2,1,7,2,1,4,7,7,2,3,5,0,1,4,1,4,4,1,9,7,3,5,6,8,5,4,8,1,6,1,3,6,1,1,5,7,3,5,2,5,5,2,1,3,3,4,7,5,7,4,1,8,4,9,4,6,8,4,3,8,5,2,3,3,2,3,9,0,7,3,9,4,1,4,3,3,3,4,5,4,7,7,6,2,4,1,6,8,6,2,5,1,8,9,8,3,5,6,9,4,8,5,5,6,2,0,9,9,2,1,9,2,2,2,1,8,4,2,7,2,5,5,0,2,5,4,2,5,6,8,8,7,6,7,1,7,9,0,4,9,4,6,0,1,6,5,3,4,6,6,8,0,4,9,8,8,6,2,7,2,3,2,7,9,1,7,8,6,0,8,5,7,8,4,3,8,3,8,2,7,9,6,7,9,7,6,6,8,1,4,5,4,1,0,0,9,5,3,8,8,3,7,8,6,3,6,0,9,5,0,6,8,0,0,6,4,2,2,5,1,2,5,2,0,5,1,1,7,3,9,2,9,8,4,8,9,6,0,8,4,1,2,8,4,8,8,6,2,6,9,4,5,6,0,4,2,4,1,9,6,5,2,8,5,0,2,2,2,1,0,6,6,1,1,8,6,3,0,6,7,4,4,2,7,8,6,2,2,0,3,9,1,9,4,9,4,5,0,4,7,1,2,3,7,1,3,7,8,6,9,6,0,9,5,6,3,6,4,3,7,1,9,1,7,2,8,7,4,6,7,7,6,4,6,5,7,5,7,3,9,6,2,4,1,3,8,9,0,8,6,5,8,3,2,6,4,5,9,9,5,8,1,3,3,9,0,4,7,8,0,2,7,5,9,0,0,9,9,4,6,5,7,6,4,0,7,8,9,5,1,2,6,9,4,6,8,3,9,8,3,5,2,5,9,5,7,0,9,8,2,5,8,2,2,6,2,0,5,2,2,4,8,9,4,0,7,7,2,6,7,1,9,4,7,8,2,6,8,4,8,2,6,0,1,4,7,6,9,9,0,9,0,2,6,4,0,1,3,6,3,9,4,4,3,7,4,5,5,3,0,5,0,6,8,2,0,3,4,9,6,2,5,2,4,5,1,7,4,9,3,9,9,6,5,1,4,3,1,4,2,9,8,0,9,1,9,0,6,5,9,2,5,0,9,3,7,2,2,1,6,9,6,4,6,1,5,1,5,7,0,9,8,5,8,3,8,7,4,1,0,5,9,7,8,8,5,9,5,9,7,7,2,9,7,5,4,9,8,9,3,0,1,6,1,7,5,3,9,2,8,4,6,8,1,3,8,2,6,8,6,8,3,8,6,8,9,4,2,7,7,4,1,5,5,9,9,1,8,5,5,9,2,5,2,4,5,9,5,3,9,5,9,4,3,1,0,4,9,9,7,2,5,2,4,6,8,0,8,4,5,9,8,7,2,7,3,6,4,4,6,9,5,8,4,8,6,5,3,8,3,6,7,3,6,2,2,2,6,2,6,0,9,9,1,2,4,6,0,8,0,5,1,2,4,3,8,8,4,3,9,0,4,5,1,2,4,4,1,3,6,5,4,9,7,6,2,7,8,0,7,9,7,7,1,5,6,9,1,4,3,5,9,9,7,7,0,0,1,2,9,6,1,6,0,8,9,4,4,1,6,9,4,8,6,8,5,5,5,8,4,8,4,0,6,3,5,3,4,2,2,0,7,2,2,2,5,8,2,8,4,8,8,6,4,8,1,5,8,4,5,6,0,2,8,5,0,6,0,1,6,8,4,2,7,3,9,4,5,2,2,6,7,4,6,7,6,7,8,8,9,5,2,5,2,1,3,8,5,2,2,5,4,9,9,5,4,6,6,6,7,2,7,8,2,3,9,8,6,4,5,6,5,9,6,1,1,6,3,5,4,8,8,6,2,3,0,5,7,7,4,5,6,4,9,8,0,3,5,5,9,3,6,3,4,5,6,8,1,7,4,3,2,4,1,1,2,5,1,5,0,7,6,0,6,9,4,7,9,4,5,1,0,9,6,5,9,6,0,9,4,0,2,5,2,2,8,8,7,9,7,1,0,8,9,3,1,4,5,6,6,9,1,3,6,8,6,7,2,2,8,7,4,8,9,4,0,5,6,0,1,0,1,5,0,3,3,0,8,6,1,7,9,2,8,6,8,0,9,2,0,8,7,4,7,6,0,9,1,7,8,2,4,9,3,8,5,8,9,0,0,9,7,1,4,9,0,9,6,7,5,9,8,5,2,6,1,3,6,5,5,4,9,7,8,1,8,9,3,1,2,9,7,8,4,8,2,1,6,8,2,9,9,8,9,4,8,7,2,2,6,5,8,8,0,4,8,5,7,5,6,4,0,1,4,2,7,0,4,7,7,5,5,5,1,3,2,3,7,9,6,4,1,4,5,1,5,2,3,7,4,6,2,3,4,3,6,4,5,4,2,8,5,8,4,4,4,7,9,5,2,6,5,8,6,7,8,2,1,0,5,1,1,4,1,3,5,4,7,3,5,7,3,9,5,2,3,1,1,3,4,2,7,1,6,6,1,0,2,1,3,5,9,6,9,5,3,6,2,3,1,4,4,2,9,5,2,4,8,4,9,3,7,1,8,7,1,1,0,1,4,5,7,6,5,4,0,3,5,9,0,2,7,9,9,3,4,4,0,3,7,4,2,0,0,7,3,1,0,5,7,8,5,3,9,0,6,2,1,9,8,3,8,7,4,4,7,8,0,8,4,7,8,4,8,9,6,8,3,3,2,1,4,4,5,7,1,3,8,6,8,7,5,1,9,4,3,5,0,6,4,3,0,2,1,8,4,5,3,1,9,1,0,4,8,4,8,1,0,0,5,3,7,0,6,1,4,6,8,0,6,7,4,9,1,9,2,7,8,1,9,1,1,9,7,9,3,9,9,5,2,0,6,1,4,1,9,6,6,3,4,2,8,7,5,4,4,4,0,6,4,3,7,4,5,1,2,3,7,1,8,1,9,2,1,7,9,9,9,8,3,9,1,0,1,5,9,1,9,5,6,1,8,1,4,6,7,5,1,4,2,6,9,1,2,3,9,7,4,8,9,4,0,9,0,7,1,8,6,4,9,4,2,3,1,9,6,1,5,6,7,9,4,5,2,0,8,0,9,5,1,4,6,5,5,0,2,2,5,2,3,1,6,0,3,8,8,1,9,3,0,1,4,2,0,9,3,7,6,2,1,3,7,8,5,5,9,5,6,6,3,8,9,3,7,7,8,7,0,8,3,0,3,9,0,6,9,7,9,2,0,7,7,3,4,6,7,2,2,1,8,2,5,6,2,5,9,9,6,6,1,5,0,1,4,2,1,5,0,3,0,6,8,0,3,8,4,4,7,7,3,4,5,4,9,2,0,2,6,0,5,4,1,4,6,6,5,9,2,5,2,0,1,4,9,7,4,4,2,8,5,0,7,3,2,5,1,8,6,6,6,0,0,2,1,3,2,4,3,4,0,8,8,1,9,0,7,1,0,4,8,6,3,3,1,7,3,4,6,4,9,6,5,1,4,5,3,9,0,5,7,9,6,2,6,8,5,6,1,0,0,5,5,0,8,1,0,6,6,5,8,7,9,6,9,9,8,1,6,3,5,7,4,7,3,6,3,8,4,0,5,2,5,7,1,4,5,9,1,0,2,8,9,7,0,6,4,1,4,0,1,1,0,9,7,1,2,0,6,2,8,0,4,3,9,0,3,9,7,5,9,5,1,5,6,7,7,1,5,7,7,0,0,4,2,0,3,3,7,8,6,9,9,3,6,0,0,7,2,3,0,5,5,8,7,6,3,1,7,6,3,5,9,4,2,1,8,7,3,1,2,5,1,4,7,1,2,0,5,3,2,9,2,8,1,9,1,8,2,6,1,8,6,1,2,5,8,6,7,3,2,1,5,7,9,1,9,8,4,1,4,8,4,8,8,2,9,1,6,4,4,7,0,6,0,9,5,7,5,2,7,0,6,9,5,7,2,2,0,9,1,7,5,6,7,1,1,6,7,2,2,9,1,0,9,8,1,6,9,0,9,1,5,2,8,0,1,7,3,5,0,6,7,1,2,7,4,8,5,8,3,2,2,2,8,7,1,8,3,5,2,0,9,3,5,3,9,6,5,7,2,5,1,2,1,0,8,3,5,7,9,1,5,1,3,6,9,8,8,2,0,9,1,4,4,4,2,1,0,0,6,7,5,1,0,3,3,4,6,7,1,1,0,3,1,4,1,2,6,7,1,1,1,3,6,9,9,0,8,6,5,8,5,1,6,3,9,8,3,1,5,0,1,9,7,0,1,6,5,1,5,1,1,6,8,5,1,7,1,4,3,7,6,5,7,6,1,8,3,5,1,5,5,6,5,0,8,8,4,9,0,9,9,8,9,8,5,9,9,8,2,3,8,7,3,4,5,5,2,8,3,3,1,6,3,5,5,0,7,6,4,7,9,1,8,5,3,5,8,9,3,2,2,6,1,8,5,4,8,9,6,3,2,1,3,2,9,3,3,0,8,9,8,5,7,0,6,4,2,0,4,6,7,5,2,5,9,0,7,0,9,1,5,4,8,1,4,1,6,5,4,9,8,5,9,4,6,1,6,3,7,1,8,0,2,7,0,9,8,1,9,9,4,3,0,9,9,2,4,4,8,8,9,5,7,5,7,1,2,8,2,8,9,0,5,9,2,3,2,3,3,2,6,0,9,7,2,9,9,7,1,2,0,8,4,4,3,3,5,7,3,2,6,5,4,8,9,3,8,2,3,9,1,1,9,3,2,5,9,7,4,6,3,6,6,7,3,0,5,8,3,6,0,4,1,4,2,8,1,3,8,8,3,0,3,2,0,3,8,2,4,9,0,3,7,5,8,9,8,5,2,4,3,7,4,4,1,7,0,2,9,1,3,2,7,6,5,6,1,8,0,9,3,7,7,3,4,4,4,0,3,0,7,0,7,4,6,9,2,1,1,2,0,1,9,1,3,0,2,0,3,3,0,3,8,0,1,9,7,6,2,1,1,0,1,1,0,0,4,4,9,2,9,3,2,1,5,1,6,0,8,4,2,4,4,4,8,5,9,6,3,7,6,6,9,8,3,8,9,5,2,2,8,6,8,4,7,8,3,1,2,3,5,5,2,6,5,8,2,1,3,1,4,4,9,5,7,6,8,5,7,2,6,2,4,3,3,4,4,1,8,9,3,0,3,9,6,8,6,4,2,6,2,4,3,4,1,0,7,7,3,2,2,6,9,7,8,0,2,8,0,7,3,1,8,9,1,5,4,4,1,1,0,1,0,4,4,6,8,2,3,2,5,2,7,1,6,2,0,1,0,5,2,6,5,2,2,7,2,1,1,1,6,6,0,3,9,6,6,6,5,5,7,3,0,9,2,5,4,7,1,1,0,5,5,7,8,5,3,7,6,3,4,6,6,8,2,0,6,5,3,1,0,9,8,9,6,5,2,6,9,1,8,6,2,0,5,6,4,7,6,9,3,1,2,5,7,0,5,8,6,3,5,6,6,2,0,1,8,5,5,8,1,0,0,7,2,9,3,6,0,6,5,9,8,7,6,4,8,6,1,1,7,9,1,0,4,5,3,3,4,8,8,5,0,3,4,6,1,1,3,6,5,7,6,8,6,7,5,3,2,4,9,4,4,1,6,6,8,0,3,9,6,2,6,5,7,9,7,8,7,7,1,8,5,5,6,0,8,4,5,5,2,9,6,5,4,1,2,6,6,5,4,0,8,5,3,0,6,1,4,3,4,4,4,3,1,8,5,8,6,7,6,9,7,5,1,4,5,6,6,1,4,0,6,8,0,0,7,0,0,2,3,7,8,7,7,6,5,9,1,3,4,4,0,1,7,1,2,7,4,9,4,7,0,4,2,0,5,6,2,2,3,0,5,3,8,9,9,4,5,6,1,3,1,4,0,7,1,1,2,7,0,0,0,4,0,7,8,5,4,7,3,3,2,6,9,9,3,9,0,8,1,4,5,4,6,6,4,6,4,5,8,8,0,7,9,7,2,7,0,8,2,6,6,8,3,0,6,3,4,3,2,8,5,8,7,8,5,6,9,8,3,0,5,2,3,5,8,0,8,9,3,3,0,6,5,7,5,7,4,0,6,7,9,5,4,5,7,1,6,3,7,7,5,2,5,4,2,0,2,1,1,4,9,5,5,7,6,1,5,8,1,4,0,0,2,5,0,1,2,6,2,2,8,5,9,4,1,3,0,2,1,6,4,7,1,5,5,0,9,7,9,2,5,9,2,3,0,9,9,0,7,9,6,5,4,7,3,7,6,1,2,5,5,1,7,6,5,6,7,5,1,3,5,7,5,1,7,8,2,9,6,6,6,4,5,4,7,7,9,1,7,4,5,0,1,1,2,9,9,6,1,4,8,9,0,3,0,4,6,3,9,9,4,7,1,3,2,9,6,2,1,0,7,3,4,0,4,3,7,5,1,8,9,5,7,3,5,9,6,1,4,5,8,9,0,1,9,3,8,9,7,1,3,1,1,1,7,9,0,4,2,9,7,8,2,8,5,6,4,7,5,0,3,2,0,3,1,9,8,6,9,1,5,1,4,0,2,8,7,0,8,0,8,5,9,9,0,4,8,0,1,0,9,4,1,2,1,4,7,2,2,1,3,1,7,9,4,7,6,4,7,7,7,2,6,2,2,4,1,4,2,5,4,8,5,4,5,4,0,3,3,2,1,5,7,1,8,5,3,0,6,1,4,2,2,8,8,1,3,7,5,8,5,0,4,3,0,6,3,3,2,1,7,5,1,8,2,9,7,9,8,6,6,2,2,3,7,1,7,2,1,5,9,1,6,0,7,7,1,6,6,9,2,5,4,7,4,8,7,3,8,9,8,6,6,5,4,9,4,9,4,5,0,1,1,4,6,5,4,0,6,2,8,4,3,3,6,6,3,9,3,7,9,0,0,3,9,7,6,9,2,6,5,6,7,2,1,4,6,3,8,5,3,0,6,7,3,6,0,9,6,5,7,1,2,0,9,1,8,0,7,6,3,8,3,2,7,1,6,6,4,1,6,2,7,4,8,8,8,8,0,0,7,8,6,9,2,5,6,0,2,9,0,2,2,8,4,7,2,1,0,4,0,3,1,7,2,1,1,8,6,0,8,2,0,4,1,9,0,0,0,4,2,2,9,6,6,1,7,1,1,9,6,3,7,7,9,2,1,3,3,7,5,7,5,1,1,4,9,5,9,5,0,1,5,6,6,0,4,9,6,3,1,8,6,2,9,4,7,2,6,5,4,7,3,6,4,2,5,2,3,0,8,1,7,7,0,3,6,7,5,1,5,9,0,6,7,3,5,0,2,3,5,0,7,2,8,3,5,4,0,5,6,7,0,4,0,3,8,6,7,4,3,5,1,3,6,2,2,2,2,4,7,7,1,5,8,9,1,5,0,4,9,5,3,0,9,8,4,4,4,8,9,3,3,3,0,9,6,3,4,0,8,7,8,0,7,6,9,3,2,5,9,9,3,9,7,8,0,5,4,1,9,3,4,1,4,4,7,3,7,7,4,4,1,8,4,2,6,3,1,2,9,8,6,0,8,0,9,9,8,8,8,6,8,7,4,1,3,2,6,0,4,7,2,1,5,6,9,5,1,6,2,3,9,6,5,8,6,4,5,7,3,0,2,1,6,3,1,5,9,8,1,9,3,1,9,5,1,6,7,3,5,3,8,1,2,9,7,4,1,6,7,7,2,9,4,7,8,6,7,2,4,2,2,9,2,4,6,5,4,3,6,6,8,0,0,9,8,0,6,7,6,9,2,8,2,3,8,2,8,0,6,8,9,9,6,4,0,0,4,8,2,4,3,5,4,0,3,7,0,1,4,1,6,3,1,4,9,6,5,8,9,7,9,4,0,9,2,4,3,2,3,7,8,9,6,9,0,7,0,6,9,7,7,9,4,2,2,3,6,2,5,0,8,2,2,1,6,8,8,9,5,7,3,8,3,7,9,8,6,2,3,0,0,1,5,9,3,7,7,6,4,7,1,6,5,1,2,2,8,9,3,5,7,8,6,0,1,5,8,8,1,6,1,7,5,5,7,8,2,9,7,3,5,2,3,3,4,4,6,0,4,2,8,1,5,1,2,6,2,7,2,0,3,7,3,4,3,1,4,6,5,3,1,9,7,7,7,7,4,1,6,0,3,1,9,9,0,6,6,5,5,4,1,8,7,6,3,9,7,9,2,9,3,3,4,4,1,9,5,2,1,5,4,1,3,4,1,8,9,9,4,8,5,4,4,4,7,3,4,5,6,7,3,8,3,1,6,2,4,9,9,3,4,1,9,1,3,1,8,1,4,8,0,9,2,7,7,7,7,1,0,3,8,6,3,8,7,7,3,4,3,1,7,7,2,0,7,5,4,5,6,5,4,5,3,2,2,0,7,7,7,0,9,2,1,2,0,1,9,0,5,1,6,6,0,9,6,2,8,0,4,9,0,9,2,6,3,6,0,1,9,7,5,9,8,8,2,8,1,6,1,3,3,2,3,1,6,6,6,3,6,5,2,8,6,1,9,3,2,6,6,8,6,3,3,6,0,6,2,7,3,5,6,7,6,3,0,3,5,4,4,7,7,6,2,8,0,3,5,0,4,5,0,7,7,7,2,3,5,5,4,7,1,0,5,8,5,9,5,4,8,7,0,2,7,9,0,8,1,4,3,5,6,2,4,0,1,4,5,1,7,1,8,0,6,2,4,6,4,3,6,2,6,7,9,4,5,6,1,2,7,5,3,1,8,1,3,4,0,7,8,3,3,0,3,3,6,2,5,4,2,3,2,7,8,3,9,4,4,9,7,5,3,8,2,4,3,7,2,0,5,8,3,5,3,1,1,4,7,7,1,1,9,9,2,6,0,6,3,8,1,3,3,4,6,7,7,6,8,7,9,6,9,5,9,7,0,3,0,9,8,3,3,9,1,3,0,7,7,1,0,9,8,7,0,4,0,8,5,9,1,3,3,7,4,6,4,1,4,4,2,8,2,2,7,7,2,6,3,4,6,5,9,4,7,0,4,7,4,5,8,7,8,4,7,7,8,7,2,0,1,9,2,7,7,1,5,2,8,0,7,3,1,7,6,7,9,0,7,7,0,7,1,5,7,2,1,3,4,4,4,7,3,0,6,0,5,7,0,0,7,3,3,4,9,2,4,3,6,9,3,1,1,3,8,3,5,0,4,9,3,1,6,3,1,2,8,4,0,4,2,5,1,2,1,9,2,5,6,5,1,7,9,8,0,6,9,4,1,1,3,5,2,8,0,1,3,1,4,7,0,1,3,0,4,7,8,1,6,4,3,7,8,8,5,1,8,5,2,9,0,9,2,8,5,4,5,2,0,1,1,6,5,8,3,9,3,4,1,9,6,5,6,2,1,3,4,9,1,4,3,4,1,5,9,5,6,2,5,8,6,5,8,6,5,5,7,0,5,5,2,6,9,0,4,9,6,5,2,0,9,8,5,8,0,3,3,8,5,0,7,2,2,4,2,6,4,8,2,9,3,9,7,2,8,5,8,4,7,8,3,1,6,3,0,5,7,7,7,7,5,6,0,6,8,8,8,7,6,4,4,6,2,4,8,2,4,6,8,5,7,9,2,6,0,3,9,5,3,5,2,7,7,3,4,8,0,3,0,4,8,0,2,9,0,0,5,8,7,6,0,7,5,8,2,5,1,0,4,7,4,7,0,9,1,6,4,3,9,6,1,3,6,2,6,7,6,0,4,4,9,2,5,6,2,7,4,2,0,4,2,0,8,3,2,0,8,5,6,6,1,1,9,0,6,2,5,4,5,4,3,3,7,2,1,3,1,5,3,5,9,5,8,4,5,0,6,8,7,7,2,4,6,0,2,9,0,1,6,1,8,7,6,6,7,9,5,2,4,0,6,1,6,3,4,2,5,2,2,5,7,7,1,9,5,4,2,9,1,6,2,9,9,1,9,3,0,6,4,5,5,3,7,7,9,9,1,4,0,3,7,3,4,0,4,3,2,8,7,5,2,6,2,8,8,8,9,6,3,9,9,5,8,7,9,4,7,5,7,2,9,1,7,4,6,4,2,6,3,5,7,4,5,5,2,5,4,0,7,9,0,9,1,4,5,1,3,5,7,1,1,1,3,6,9,4,1,0,9,1,1,9,3,9,3,2,5,1,9,1,0,7,6,0,2,0,8,2,5,2,0,2,6,1,8,7,9,8,5,3,1,8,8,7,7,0,5,8,4,2,9,7,2,5,9,1,6,7,7,8,1,3,1,4,9,6,9,9,0,0,9,0,1,9,2,1,1,6,9,7,1,7,3,7,2,7,8,4,7,6,8,4,7,2,6,8,6,0,8,4,9,0,0,3,3,7,7,0,2,4,2,4,2,9,1,6,5,1,3,0,0,5,0,0,5,1,6,8,3,2,3,3,6,4,3,5,0,3,8,9,5,1,7,0,2,9,8,9,3,9,2,2,3,3,4,5,1,7,2,2,0,1,3,8,1,2,8,0,6,9,6,5,0,1,1,7,8,4,4,0,8,7,4,5,1,9,6,0,1,2,1,2,2,8,5,9,9,3,7,1,6,2,3,1,3,0,1,7,1,1,4,4,4,8,4,6,4,0,9,0,3,8,9,0,6,4,4,9,5,4,4,4,0,0,6,1,9,8,6,9,0,7,5,4,8,5,1,6,0,2,6,3,2,7,5,0,5,2,9,8,3,4,9,1,8,7,4,0,7,8,6,6,8,0,8,8,1,8,3,3,8,5,1,0,2,2,8,3,3,4,5,0,8,5,0,4,8,6,0,8,2,5,0,3,9,3,0,2,1,3,3,2,1,9,7,1,5,5,1,8,4,3,0,6,3,5,4,5,5,0,0,7,6,6,8,2,8,2,9,4,9,3,0,4,1,3,7,7,6,5,5,2,7,9,3,9,7,5,1,7,5,4,6,1,3,9,5,3,9,8,4,6,8,3,3,9,3,6,3,8,3,0,4,7,4,6,1,1,9,9,6,6,5,3,8,5,8,1,5,3,8,4,2,0,5,6,8,5,3,3,8,6,2,1,8,6,7,2,5,2,3,3,4,0,2,8,3,0,8,7,1,1,2,3,2,8,2,7,8,9,2,1,2,5,0,7,7,1,2,6,2,9,4,6,3,2,2,9,5,6,3,9,8,9,8,9,8,9,3,5,8,2,1,1,6,7,4,5,6,2,7,0,1,0,2,1,8,3,5,6,4,6,2,2,0,1,3,4,9,6,7,1,5,1,8,8,1,9,0,9,7,3,0,3,8,1,1,9,8,0,0,4,9,7,3,4,0,7,2,3,9,6,1,0,3,6,8,5,4,0,6,6,4,3,1,9,3,9,5,0,9,7,9,0,1,9,0,6,9,9,6,3,9,5,5,2,4,5,3,0,0,5,4,5,0,5,8,0,6,8,5,5,0,1,9,5,6,7,3,0,2,2,9,2,1,9,1,3,9,3,3,9,1,8,5,6,8,0,3,4,4,9,0,3,9,8,2,0,5,9,5,5,1,0,0,2,2,6,3,5,3,5,3,6,1,9,2,0,4,1,9,9,4,7,4,5,5,3,8,5,9,3,8,1,0,2,3,4,3,9,5,5,4,4,9,5,9,7,7,8,3,7,7,9,0,2,3,7,4,2,1,6,1,7,2,7,1,1,1,7,2,3,6,4,3,4,3,5,4,3,9,4,7,8,2,2,1,8,1,8,5,2,8,6,2,4,0,8,5,1,4,0,0,6,6,6,0,4,4,3,3,2,5,8,8,8,5,6,9,8,6,7,0,5,4,3,1,5,4,7,0,6,9,6,5,7,4,7,4,5,8,5,5,0,3,3,2,3,2,3,3,4,2,1,0,7,3,0,1,5,4,5,9,4,0,5,1,6,5,5,3,7,9,0,6,8,6,6,2,7,3,3,3,7,9,9,5,8,5,1,1,5,6,2,5,7,8,4,3,2,2,9,8,8,2,7,3,7,2,3,1,9,8,9,8,7,5,7,1,4,1,5,9,5,7,8,1,1,1,9,6,3,5,8,3,3,0,0,5,9,4,0,8,7,3,0,6,8,1,2,1,6,0,2,8,7,6,4,9,6,2,8,6,7,4,4,6,0,4,7,7,4,6,4,9,1,5,9,9,5,0,5,4,9,7,3,7,4,2,5,6,2,6,9,0,1,0,4,9,0,3,7,7,8,1,9,8,6,8,3,5,9,3,8,1,4,6,5,7,4,1,2,6,8,0,4,9,2,5,6,4,8,7,9,8,5,5,6,1,4,5,3,7,2,3,4,7,8,6,7,3,3,0,3,9,0,4,6,8,8,3,8,3,4,3,6,3,4,6,5,5,3,7,9,4,9,8,6,4,1,9,2,7,0,5,6,3,8,7,2,9,3,1,7,4,8,7,2,3,3,2,0,8,3,7,6,0,1,1,2,3,0,2,9,9,1,1,3,6,7,9,3,8,6,2,7,0,8,9,4,3,8,7,9,9,3,6,2,0,1,6,2,9,5,1,5,4,1,3,3,7,1,4,2,4,8,9,2,8,3,0,7,2,2,0,1,2,6,9,0,1,4,7,5,4,6,6,8,4,7,6,5,3,5,7,6,1,6,4,7,7,3,7,9,4,6,7,5,2,0,0,4,9,0,7,5,7,1,5,5,5,2,7,8,1,9,6,5,3,6,2,1,3,2,3,9,2,6,4,0,6,1,6,0,1,3,6,3,5,8,1,5,5,9,0,7,4,2,2,0,2,0,2,0,3,1,8,7,2,7,7,6,0,5,2,7,7,2,1,9,0,0,5,5,6,1,4,8,4,2,5,5,5,1,8,7,9,2,5,3,0,3,4,3,5,1,3,9,8,4,4,2,5,3,2,2,3,4,1,5,7,6,2,3,3,6,1,0,6,4,2,5,0,6,3,9,0,4,9,7,5,0,0,8,6,5,6,2,7,1,0,9,5,3,5,9,1,9,4,6,5,8,9,7,5,1,4,1,3,1,0,3,4,8,2,2,7,6,9,3,0,6,2,4,7,4,3,5,3,6,3,2,5,6,9,1,6,0,7,8,1,5,4,7,8,1,8,1,1,5,2,8,4,3,6,6,7,9,5,7,0,6,1,1,0,8,6,1,5,3,3,1,5,0,4,4,5,2,1,2,7,4,7,3,9,2,4,5,4,4,9,4,5,4,2,3,6,8,2,8,8,6,0,6,1,3,4,0,8,4,1,4,8,6,3,7,7,6,7,0,0,9,6,1,2,0,7,1,5,1,2,4,9,1,4,0,4,3,0,2,7,2,5,3,8,6,0,7,6,4,8,2,3,6,3,4,1,4,3,3,4,6,2,3,5,1,8,9,7,5,7,6,6,4,5,2,1,6,4,1,3,7,6,7,9,6,9,0,3,1,4,9,5,0,1,9,1,0,8,5,7,5,9,8,4,4,2,3,9,1,9,8,6,2,9,1,6,4,2,1,9,3,9,9,4,9,0,7,2,3,6,2,3,4,6,4,6,8,4,4,1,1,7,3,9,4,0,3,2,6,5,9,1,8,4,0,4,4,3,7,8,0,5,1,3,3,3,8,9,4,5,2,5,7,4,2,3,9,9,5,0,8,2,9,6,5,9,1,2,2,8,5,0,8,5,5,5,8,2,1,5,7,2,5,0,3,1,0,7,1,2,5,7,0,1,2,6,6,8,3,0,2,4,0,2,9,2,9,5,2,5,2,2,0,1,1,8,7,2,6,7,6,7,5,6,2,2,0,4,1,5,4,2,0,5,1,6,1,8,4,1,6,3,4,8,4,7,5,6,5,1,6,9,9,9,8,1,1,6,1,4,1,0,1,0,0,2,9,9,6,0,7,8,3,8,6,9,0,9,2,9,1,6,0,3,0,2,8,8,4,0,0,2,6,9,1,0,4,1,4,0,7,9,2,8,8,6,2,1,5,0,7,8,4,2,4,5,1,6,7,0,9,0,8,7,0,0,0,6,9,9,2,8,2,1,2,0,6,6,0,4,1,8,3,7,1,8,0,6,5,3,5,5,6,7,2,5,2,5,3,2,5,6,7,5,3,2,8,6,1,2,9,1,0,4,2,4,8,7,7,6,1,8,2,5,8,2,9,7,6,5,1,5,7,9,5,9,8,4,7,0,3,5,6,2,2,2,6,2,9,3,4,8,6,0,0,3,4,1,5,8,7,2,2,9,8,0,5,3,4,9,8,9,6,5,0,2,2,6,2,9,1,7,4,8,7,8,8,2,0,2,7,3,4,2,0,9,2,2,2,2,4,5,3,3,9,8,5,6,2,6,4,7,6,6,9,1,4,9,0,5,5,6,2,8,4,2,5,0,3,9,1,2,7,5,7,7,1,0,2,8,4,0,2,7,9,9,8,0,6,6,3,6,5,8,2,5,4,8,8,9,2,6,4,8,8,0,2,5,4,5,6,6,1,0,1,7,2,9,6,7,0,2,6,6,4,0,7,6,5,5,9,0,4,2,9,0,9,9,4,5,6,8,1,5,0,6,5,2,6,5,3,0,5,3,7,1,8,2,9,4,1,2,7,0,3,3,6,9,3,1,3,7,8,5,1,7,8,6,0,9,0,4,0,7,0,8,6,6,7,1,1,4,9,6,5,5,8,3,4,3,4,3,4,7,6,9,3,3,8,5,7,8,1,7,1,1,3,8,6,4,5,5,8,7,3,6,7,8,1,2,3,0,1,4,5,8,7,6,8,7,1,2,6,6,0,3,4,8,9,1,3,9,0,9,5,6,2,0,0,9,9,3,9,3,6,1,0,3,1,0,2,9,1,6,1,6,1,5,2,8,8,1,3,8,4,3,7,9,0,9,9,0,4,2,3,1,7,4,7,3,3,6,3,9,4,8,0,4,5,7,5,9,3,1,4,9,3,1,4,0,5,2,9,7,6,3,4,7,5,7,4,8,1,1,9,3,5,6,7,0,9,1,1,0,1,3,7,7,5,1,7,2,1,0,0,8,0,3,1,5,5,9,0,2,4,8,5,3,0,9,0,6,6,9,2,0,3,7,6,7,1,9,2,2,0,3,3,2,2,9,0,9,4,3,3,4,6,7,6,8,5,1,4,2,2,1,4,4,7,7,3,7,9,3,9,3,7,5,1,7,0,3,4,4,3,6,6,1,9,9,1,0,4,0,3,3,7,5,1,1,1,7,3,5,4,7,1,9,1,8,5,5,0,4,6,4,4,9,0,2,6,3,6,5,5,1,2,8,1,6,2,2,8,8,2,4,4,6,2,5,7,5,9,1,6,3,3,3,0,3,9,1,0,7,2,2,5,3,8,3,7,4,2,1,8,2,1,4,0,8,8,3,5,0,8,6,5,7,3,9,1,7,7,1,5,0,9,6,8,2,8,8,7,4,7,8,2,6,5,6,9,9,5,9,9,5,7,4,4,9,0,6,6,1,7,5,8,3,4,4,1,3,7,5,2,2,3,9,7,0,9,6,8,3,4,0,8,0,0,5,3,5,5,9,8,4,9,1,7,5,4,1,7,3,8,1,8,8,3,9,9,9,4,4,6,9,7,4,8,6,7,6,2,6,5,5,1,6,5,8,2,7,6,5,8,4,8,3,5,8,8,4,5,3,1,4,2,7,7,5,6,8,7,9,0,0,2,9,0,9,5,1,7,0,2,8,3,5,2,9,7,1,6,3,4,4,5,6,2,1,2,9,6,4,0,4,3,5,2,3,1,1,7,6,0,0,6,6,5,1,0,1,2,4,1,2,0,0,6,5,9,7,5,5,8,5,1,2,7,6,1,7,8,5,8,3,8,2,9,2,0,4,1,9,7,4,8,4,4,2,3,6,0,8,0,0,7,1,9,3,0,4,5,7,6,1,8,9,3,2,3,4,9,2,2,9,2,7,9,6,5,0,1,9,8,7,5,1,8,7,2,1,2,7,2,6,7,5,0,7,9,8,1,2,5,5,4,7,0,9,5,8,9,0,4,5,5,6,3,5,7,9,2,1,2,2,1,0,3,3,3,4,6,6,9,7,4,9,9,2,3,5,6,3,0,2,5,4,9,4,7,8,0,2,4,9,0,1,1,4,1,9,5,2,1,2,3,8,2,8,1,5,3,0,9,1,1,4,0,7,9,0,7,3,8,6,0,2,5,1,5,2,2,7,4,2,9,9,5,8,1,8,0,7,2,4,7,1,6,2,5,9,1,6,6,8,5,4,5,1,3,3,3,1,2,3,9,4,8,0,4,9,4,7,0,7,9,1,1,9,1,5,3,2,6,7,3,4,3,0,2,8,2,4,4,1,8,6,0,4,1,4,2,6,3,6,3,9,5,4,8,0,0,0,4,4,8,0,0,2,6,7,0,4,9,6,2,4,8,2,0,1,7,9,2,8,9,6,4,7,6,6,9,7,5,8,3,1,8,3,2,7,1,3,1,4,2,5,1,7,0,2,9,6,9,2,3,4,8,8,9,6,2,7,6,6,8,4,4,0,3,2,3,2,6,0,9,2,7,5,2,4,9,6,0,3,5,7,9,9,6,4,6,9,2,5,6,5,0,4,9,3,6,8,1,8,3,6,0,9,0,0,3,2,3,8,0,9,2,9,3,4,5,9,5,8,8,9,7,0,6,9,5,3,6,5,3,4,9,4,0,6,0,3,4,0,2,1,6,6,5,4,4,3,7,5,5,8,9,0,0,4,5,6,3,2,8,8,2,2,5,0,5,4,5,2,5,5,6,4,0,5,6,4,4,8,2,4,6,5,1,5,1,8,7,5,4,7,1,1,9,6,2,1,8,4,4,3,9,6,5,8,2,5,3,3,7,5,4,3,8,8,5,6,9,0,9,4,1,1,3,0,3,1,5,0,9,5,2,6,1,7,9,3,7,8,0,0,2,9,7,4,1,2,0,7,6,6,5,1,4,7,9,3,9,4,2,5,9,0,2,9,8,9,6,9,5,9,4,6,9,9,5,5,6,5,7,6,1,2,1,8,6,5,6,1,9,6,7,3,3,7,8,6,2,3,6,2,5,6,1,2,5,2,1,6,3,2,0,8,6,2,8,6,9,2,2,2,1,0,3,2,7,4,8,8,9,2,1,8,6,5,4,3,6,4,8,0,2,2,9,6,7,8,0,7,0,5,7,6,5,6,1,5,1,4,4,6,3,2,0,4,6,9,2,7,9,0,6,8,2,1,2,0,7,3,8,8,3,7,7,8,1,4,2,3,3,5,6,2,8,2,3,6,0,8,9,6,3,2,0,8,0,6,8,2,2,2,4,6,8,0,1,2,2,4,8,2,6,1,1,7,7,1,8,5,8,9,6,3,8,1,4,0,9,1,8,3,9,0,3,6,7,3,6,7,2,2,2,0,8,8,8,3,2,1,5,1,3,7,5,5,6,0,0,3,7,2,7,9,8,3,9,4,0,0,4,1,5,2,9,7,0,0,2,8,7,8,3,0,7,6,6,7,0,9,4,4,4,7,4,5,6,0,1,3,4,5,5,6,4,1,7,2,5,4,3,7,0,9,0,6,9,7,9,3,9,6,1,2,2,5,7,1,4,2,9,8,9,4,6,7,1,5,4,3,5,7,8,4,6,8,7,8,8,6,1,4,4,4,5,8,1,2,3,1,4,5,9,3,5,7,1,9,8,4,9,2,2,5,2,8,4,7,1,6,0,5,0,4,9,2,2,1,2,4,2,4,7,0,1,4,1,2,1,4,7,8,0,5,7,3,4,5,5,1,0,5,0,0,8,0,1,9,0,8,6,9,9,6,0,3,3,0,2,7,6,3,4,7,8,7,0,8,1,0,8,1,7,5,4,5,0,1,1,9,3,0,7,1,4,1,2,2,3,3,9,0,8,6,6,3,9,3,8,3,3,9,5,2,9,4,2,5,7,8,6,9,0,5,0,7,6,4,3,1,0,0,6,3,8,3,5,1,9,8,3,4,3,8,9,3,4,1,5,9,6,1,3,1,8,5,4,3,4,7,5,4,6,4,9,5,5,6,9,7,8,1,0,3,8,2,9,3,0,9,7,1,6,4,6,5,1,4,3,8,4,0,7,0,0,7,0,7,3,6,0,4,1,1,2,3,7,3,5,9,9,8,4,3,4,5,2,2,5,1,6,1,0,5,0,7,0,2,7,0,5,6,2,3,5,2,6,6,0,1,2,7,6,4,8,4,8,3,0,8,4,0,7,6,1,1,8,3,0,1,3,0,5,2,7,9,3,2,0,5,4,2,7,4,6,2,8,6,5,4,0,3,6,0,3,6,7,4,5,3,2,8,6,5,1,0,5,7,0,6,5,8,7,4,8,8,2,2,5,6,9,8,1,5,7,9,3,6,7,8,9,7,6,6,9,7,4,2,2,0,5,7,5,0,5,9,6,8,3,4,4,0,8,6,9,7,3,5,0,2,0,1,4,1,0,2,0,6,7,2,3,5,8,5,0,2,0,0,7,2,4,5,2,2,5,6,3,2,6,5,1,3,4,1,0,5,5,9,2,4,0,1,9,0,2,7,4,2,1,6,2,4,8,4,3,9,1,4,0,3,5,9,9,8,9,5,3,5,3,9,4,5,9,0,9,4,4,0,7,0,4,6,9,1,2,0,9,1,4,0,9,3,8,7,0,0,1,2,6,4,5,6,0,0,1,6,2,3,7,4,2,8,8,0,2,1,0,9,2,7,6,4,5,7,9,3,1,0,6,5,7,9,2,2,9,5,5,2,4,9,8,8,7,2,7,5,8,4,6,1,0,1,2,6,4,8,3,6,9,9,9,8,9,2,2,5,6,9,5,9,6,8,8,1,5,9,2,0,5,6,0,0,1,0,1,6,5,5,2,5,6,3,7,5,6,7,8};
int main(){
    int n; cin>>n; cout<<a[n];
    return 0;
}
View Code

第十二題

題目 https://ac.nowcoder.com/acm/contest/334/L

先用一個五維數組預處理出全部可能的得分,而後在求每一組數據的時候直接求和再/13 便可,注意四捨五入。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
inline void read(int &x)
{
     x = 0;char ch = getchar(), c = ch;
     while(ch < '0' || ch > '9')c = ch, ch = getchar();
     while(ch <= '9' && ch >= '0')x = x * 10 + ch - '0', ch = getchar();
     if(c == '-')x = -x;
}
inline int min(int a,int b)
{
    return a<b?a:b;
}
int ans[15][15][15][15][15];
int x,y,m,n,z,sum;
inline void init()
{
     for(int a = 1;a <= 13;++ a)
         for(int b = 1;b <= 13;++ b)
             for(int c = 1;c <= 13;++ c)
                 for(int d = 1;d <= 13;++ d)
                     for(int e = 1;e <= 13;++ e)
                     {
                         if(a<5 && b<5 && c<5 && d<5 && e<5 && a+b+c+d+e <= 10)
                         ans[a][b][c][d][e] = 60;
                         else if(a>10 && b>10 && c>10 && d>10 && e>10)
                         ans[a][b][c][d][e] = 50;
                        else if((a==b && b==c && c==d) || (a==b && b==c && c==e) || (a==b && b==d && e==d) || (a==e && e==c && c==d) || (e==b && b==c && c==d)) 
                        ans[a][b][c][d][e] = 40;
                         else
                         {
                             x = min(a,10),y = min(b,10),m = min(c,10),n = min(d,10),z = min(e,10);
                             if((x+y+m)%10 == 0 || (y+m+n)%10 == 0 || (m+n+z)%10 == 0 || (x+y+n)%10 == 0 || (x+y+z)%10 == 0 || (y+m+z)%10 == 0 || (y+n+z)%10 == 0 || (x+n+z)%10 == 0 || (x+m+n)%10 == 0 || (x+m+z)%10 == 0)
                            {
                                 sum = x+y+m+n+z;
                                 if(sum%10 == 0)
                                 ans[a][b][c][d][e] = 30;
                                 else if(sum%10 < 7)
                                 ans[a][b][c][d][e] = sum%10;
                                 else
                                 ans[a][b][c][d][e] = (sum%10)*2;
                             }
                         }
                     }
}
int main()
{
     init();
     int t;
    read(t);
     for(;t;--t)
     {
         sum = 0;
         read(x),read(y),read(m),read(n);
         for(register int i = 1;i <= 13;++ i)
         sum += ans[x][y][m][n][i];
         sum = (sum/13.0)+0.5;
         printf("%d\n",sum);
     }
     return 0;
}
View Code

第十三題

題目 https://ac.nowcoder.com/acm/contest/334/M

相關文章
相關標籤/搜索