QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#54687#4192. Index CaseSa3tElSefr#WA 11ms19788kbC++1.9kb2022-10-10 04:36:552022-10-10 04:36:56

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-10-10 04:36:56]
  • 评测
  • 测评结果:WA
  • 用时:11ms
  • 内存:19788kb
  • [2022-10-10 04:36:55]
  • 提交

answer

/// tban lecodes el bosta2
#pragma GCC optimize("O3")
#pragma GCC optimize ("unroll-loops")
#pragma GCC target("avx,avx2,fma")
#include "bits/stdc++.h"
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace std;
using namespace __gnu_pbds;


#define pb push_back
#define F first
#define S second
#define f(i, a, b)  for(int i = a; i < b; i++)
#define all(a)  a.begin(),a.end()
#define rall(a) a.rbegin(),a.rend()
#define sz(x) (int)(x).size()
#define mp(x,y) make_pair(x,y)
#define popCnt(x) (__builtin_popcountll(x))
#define int ll

using ll = long long;
using ii = pair<int, int>;
using ull = unsigned long long;
const int N = 2e5+5, LG = 18, MOD = 1e9+7;
const long double PI = acos(-1);
const long double EPS = 1e-7;

const string TARGET = "WALDO";

bool check(ll x) {return x & (x-1);}
int dp[205][10][10][10][10];
int f[10][10][10];
int s[205];
int n, m;
int solve(int index, int fst, int snd, int prv, int prv2) {
    if(index == n) {
        return (f[prv2][prv][fst] == s[n-1])
        && (f[prv][fst][snd] == s[0]);
    }
    int &ret = dp[index][fst][snd][prv][prv2];

    if(~ret)return ret;
    for(int i = 0; i < m; i++) {
        if(f[prv2][prv][i] == s[index - 1] && solve(index + 1, fst, snd, i, prv))
            return ret = 1;
    }

    return ret = 0;
}
void doWork() {

    cin >> n >> m;

    f(i,0,m)
    f(j,0,m)
    f(k,0,m)
    cin >> f[i][j][k], --f[i][j][k];

    f(i,0,n) {
        cin >> s[i];
        --s[i];
    }

    memset(dp,-1,sizeof dp);

    f(i,0,m)
    f(j,0,m)
    if(solve(2,i,j,i,j)) {
        cout << "yes\n";
        return;
    }

    cout << "no\n";
}
int32_t main() {
#ifdef ONLINE_JUDGE
    ios_base::sync_with_stdio(0);
    cin.tie(0);
#endif // ONLINE_JUDGE

    int t = 1;
//    cin >> t;
    while (t--) {
        doWork();
    }
    return 0;
}

详细

Test #1:

score: 100
Accepted
time: 2ms
memory: 19608kb

input:

4 2
1
2
1
2
2
1
2
1
1 2 1 2

output:

yes

result:

ok answer is YES

Test #2:

score: 0
Accepted
time: 5ms
memory: 19664kb

input:

6 2
1
2
1
2
2
1
2
1
1 2 1 2 1 2

output:

no

result:

ok answer is NO

Test #3:

score: 0
Accepted
time: 2ms
memory: 19484kb

input:

10 2
1
2
1
1
2
2
2
2
1 2 2 2 1 2 1 2 1 2

output:

yes

result:

ok answer is YES

Test #4:

score: 0
Accepted
time: 11ms
memory: 19620kb

input:

200 10
1
7
8
5
5
3
7
5
7
4
1
10
10
4
1
2
7
7
9
4
8
7
2
7
7
5
8
6
2
4
4
10
10
10
9
8
6
5
5
8
8
1
1
8
9
5
9
4
6
9
1
6
4
1
1
10
5
2
4
4
3
10
6
9
3
2
4
2
10
10
10
6
8
4
10
9
8
7
2
9
3
7
4
8
6
3
9
9
1
3
10
2
6
10
1
1
3
3
2
1
5
9
9
10
7
8
5
5
10
1
5
8
7
2
9
8
7
1
8
6
7
8
7
2
10
1
1
1
2
7
7
9
9
9
7
5
4
3
4...

output:

no

result:

ok answer is NO

Test #5:

score: 0
Accepted
time: 7ms
memory: 19788kb

input:

200 10
10
8
1
1
8
3
5
6
5
2
8
7
9
10
6
5
5
2
7
6
8
2
1
7
5
2
10
1
2
9
9
3
4
2
9
8
1
10
3
5
2
8
9
5
3
4
2
1
10
2
3
6
6
8
3
8
4
1
4
1
6
9
4
10
1
7
8
3
4
2
10
10
1
2
10
6
10
8
5
6
5
5
10
2
4
5
5
9
10
6
6
10
9
6
8
5
5
10
3
9
1
5
5
2
6
6
8
8
2
4
4
6
1
7
10
3
4
6
10
4
10
7
9
2
10
6
2
10
7
4
6
6
1
7
3
1
9
...

output:

yes

result:

ok answer is YES

Test #6:

score: 0
Accepted
time: 5ms
memory: 19740kb

input:

200 10
9
7
2
9
9
8
5
9
6
6
5
10
4
9
1
2
3
10
1
4
1
5
9
7
8
4
7
9
3
2
8
10
10
1
4
1
4
5
5
10
5
4
8
6
7
10
2
5
3
9
3
1
7
6
9
10
4
2
7
7
9
4
5
8
10
6
3
3
7
7
7
6
1
7
3
3
7
9
10
2
2
8
1
5
9
7
8
3
2
4
4
3
9
2
1
1
10
10
1
10
8
10
5
3
10
3
5
7
1
8
5
10
8
2
8
5
4
1
1
7
6
8
7
7
3
9
4
10
8
1
1
1
10
8
3
6
5
4
...

output:

yes

result:

ok answer is YES

Test #7:

score: -100
Wrong Answer
time: 2ms
memory: 19700kb

input:

200 10
5
4
3
7
5
8
2
9
4
1
3
5
4
9
7
5
1
3
7
10
8
7
5
1
8
2
5
5
9
10
1
5
3
9
2
3
9
5
5
2
1
4
8
5
8
3
8
10
1
1
1
6
4
6
1
2
5
3
3
7
7
8
9
1
3
6
6
7
5
3
6
7
1
1
10
10
5
6
1
10
9
1
10
2
10
1
1
9
7
9
1
6
9
9
3
1
6
2
8
6
3
5
1
2
2
9
6
9
3
7
10
1
3
2
7
7
7
7
3
6
1
10
2
6
6
4
10
4
3
3
1
9
10
7
10
4
6
5
2
8
...

output:

no

result:

wrong answer expected YES, found NO