Advertisement
Guest User

Untitled

a guest
Jan 31st, 2011
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.03 KB | None | 0 0
  1. #include<iostream>
  2. #include<vector>
  3. using namespace std;
  4. long long mod = 1000000009;
  5. long long d[10000][10][10];
  6. int main()
  7. {
  8.     freopen("input.txt","r",stdin);
  9.     freopen("output.txt","w",stdout);
  10.     int n;
  11.     cin>>n;
  12.     vector<bool> p(1000,true);
  13.     for(int i = 100; i < 1000; i++)
  14.         for(int j = 2; j * j <= i; j++)
  15.             if (i % j == 0)
  16.             {
  17.                 p[i] = false;
  18.                 break;
  19.             }
  20.     vector<int> pr;
  21.     for(int i = 100; i < 1000; i++)
  22.         if (p[i])
  23.         {
  24.             pr.push_back(i);
  25.             d[3][(i % 100) / 10][i % 10]++;
  26.         }
  27.     for(int i = 4; i <= n; i++)
  28.         for(size_t k = 0; k < pr.size(); k++)
  29.         {
  30.             int j = pr[k];
  31.             d[i][(j % 100) / 10][j % 10] = (d[i][(j % 100) / 10][j % 10] + d[i - 1][j / 100][(j % 100) / 10]) % mod;
  32.         }
  33.     long long ans = 0;
  34.     for(int i = 0; i < 10; i++)
  35.         for(int j = 0; j < 10; j++)
  36.             ans = (ans + d[n][i][j]) % mod;
  37.     cout<<ans;
  38.      return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement