QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#749848 | #7006. Rikka with Subsequences | zzzzzzy | AC ✓ | 656ms | 4252kb | C++14 | 1.9kb | 2024-11-15 10:54:11 | 2024-11-15 10:54:12 |
Judging History
answer
#include <bits/stdc++.h>
#define rep(i, l, r) for (int i = (l); i <= (int)(r); i++)
#define per(i, l, r) for (int i = (r); i >= (int)(l); i--)
#define Debug(...) fprintf(stderr, __VA_ARGS__)
#define max(a, b) (!((a) < (b)) ? (a) : (b))
#define min(a, b) ((a) < (b) ? (a) : (b))
using namespace std;
using i64 = long long;
#define int i64
const int maxn = 205, mod = 1e9+7, B = 700;
int a[maxn];
char mp[maxn][maxn];
int s[maxn][maxn], dp[maxn][maxn];
signed main() {
cin.tie(nullptr)->sync_with_stdio(false);
int n, t;
cin >> t;
while (t--) {
cin >> n;
rep(i, 1, n) {
cin >> a[i];
}
rep(i, 1, n) {
rep(j, 1, n) {
cin >> mp[i][j];
}
}
memset(dp, 0, sizeof dp);
int ans = 0;
rep(i, 1, n) {
rep(j, 1, n) {
rep(k, 1, n) {
if (mp[a[j]][a[i]] == '1') {
s[j + 1][k + 1] = dp[j][k];
} else {
s[j + 1][k + 1] = 0;
}
s[j + 1][ k + 1] = (s[j + 1][k + 1] + s[j][k + 1] + s[j + 1][k] - s[j][k] + mod) % mod;
}
}
rep(j, 1, n) {
rep(k, 1, n) {
if (a[i] == a[j] && a[i] == a[k]) {
ans += s[j][k] + 1;
ans %= mod;
dp[j][k] = (dp[j][k] + s[j][k] + 1) % mod;
}
}
}
}
cout << ans << "\n";
}
return 0;
}
// 干嘛的老公
// 老公怎么不说话啊
// 好安静……我以为我们永远有话说
// 1、在心理上筑起一道拒绝黄色污染的防线,理智地对待黄色污染。
// 2、掌握拒绝黄色污染的方法,正确应对黄色污染。
// 3、培养正确的观点,从正确的途径了解性知识,对性有一个正确的认识,培养正确的性道德观念。
// 4、多参加健康的集体活动,养成良好的生活习惯,多阅读一些优秀的文学作品,提高自己的修养。
这程序好像有点Bug,我给组数据试试?
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3900kb
input:
1 4 1 2 1 2 1111 1111 1111 1111
output:
51
result:
ok single line: '51'
Test #2:
score: 0
Accepted
time: 656ms
memory: 4252kb
input:
20 195 4 5 4 3 2 4 3 5 1 5 4 3 4 3 1 5 4 4 5 2 2 2 2 4 1 5 3 4 1 1 1 2 1 1 5 5 4 5 4 5 5 4 5 2 1 2 5 4 5 1 1 3 1 2 2 3 3 5 2 3 3 1 4 4 2 4 2 4 3 4 1 1 1 4 3 5 1 1 3 2 2 5 1 3 1 5 1 5 5 3 5 3 3 2 5 1 3 2 4 1 5 5 1 3 3 2 4 2 3 3 3 4 1 3 3 3 5 5 1 1 4 2 5 1 2 5 4 3 5 1 5 5 5 4 2 2 5 3 2 3 4 1 3 2 1 5 3...
output:
806298135 541285042 48173297 222851978 875793336 100057791 156057874 129923599 551277543 874547790 544405786 653241411 521317929 370918040 803940504 969296122 806596012 469227084 338962879 194278629
result:
ok 20 lines