QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#749848#7006. Rikka with SubsequenceszzzzzzyAC ✓656ms4252kbC++141.9kb2024-11-15 10:54:112024-11-15 10:54:12

Judging History

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

  • [2024-11-15 10:54:12]
  • 评测
  • 测评结果:AC
  • 用时:656ms
  • 内存:4252kb
  • [2024-11-15 10:54:11]
  • 提交

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,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

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