Submission #1322991

#TimeUsernameProblemLanguageResultExecution timeMemory
1322991kkkkkPIN (CEOI10_pin)C++20
60 / 100
16 ms16656 KiB
#include <bits/stdc++.h> #define int long long using namespace std; const int N = 37; const int M = 5e4 + 11; int f[N][N][N][N]; int to[256]; string s[M]; signed main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int toto = 0; for(char c = '0'; c <= '9'; c++) to[c] = ++toto; for(char c = 'a'; c <= 'z'; c++) to[c] = ++toto; int n, D, ans = 0; cin >> n >> D; for(int i = 1; i <= n; i++){ cin >> s[i]; int a = to[s[i][0]]; int b = to[s[i][1]]; int c = to[s[i][2]]; int d = to[s[i][3]]; if(D == 1){ ans += f[a][b][c][0] + f[a][b][0][d] + f[a][0][c][d] + f[0][b][c][d] - f[a][b][c][d] * 4; } if(D == 2){ ans += f[a][b][0][0] + f[a][0][c][0] + f[a][0][0][d] + f[0][b][c][0] + f[0][b][0][d] + f[0][0][c][d]; ans -= (f[a][b][c][0] + f[a][b][0][d] + f[0][b][c][d] + f[a][0][c][d]) * 3; ans += f[a][b][c][d] * 6; } if(D == 3){ ans += f[a][0][0][0] + f[0][b][0][0] + f[0][0][c][0] + f[0][0][0][d]; ans -= ( f[a][b][0][0] + f[a][0][c][0] + f[a][0][0][d] + f[0][b][c][0] + f[0][b][0][d] + f[0][0][c][d]) * 2; ans += ( f[a][b][c][0] + f[a][b][0][d] + f[a][0][c][d] + f[0][a][b][c]) * 2; } if(D == 4){ } f[a][b][c][d]++; // f[a][b][c][0]++; f[a][b][0][d]++; f[a][0][c][d]++; f[0][b][c][d]++; // f[a][b][0][0]++; f[a][0][c][0]++; f[a][0][0][d]++; f[0][b][c][0]++; f[0][b][0][d]++; f[0][0][c][d]++; // f[a][0][0][0]++; f[0][b][0][0]++; f[0][0][c][0]++; f[0][0][0][d]++; // f[0][0][0][0]++; // } cout << ans; } // subete no mono no owari wa sugu ni yattekuru
#Verdict Execution timeMemoryGrader output
Fetching results...