Submission #36748892
Source Code Expand
#include<bits/stdc++.h>
#define LL long long
#define MOD 1000000007
using namespace std;
void Inc(int &a, const int &b)
{
((a += b) >= MOD) && (a -= MOD);
}
const int N = 2e6 + 5;
int n, a[N], xors[N];
char ch[N];
int len[N][4];
int f[N], ans;
int main()
{
scanf("%d", &n);
scanf("%s", ch + 1);
bool same = 1;
for(int i = 1; i <= n; ++i)
{
a[i] = ch[i] - 'A' + 1;
xors[i] = xors[i - 1] ^ a[i];
if(i > 1 && a[i] != a[i - 1] && same)
same = 0;
}
if(same)
{
puts("1");
return 0;
}
for(int i = 1; i <= 3; ++i)
len[n + 1][i] = n + 1;
for(int i = n; i >= 0; --i)
for(int j = 1; j <= 3; ++j)
{
if(a[i] == j) len[i][j] = 1;
else len[i][j] = len[i + 1][j ^ a[i]] + 1;
}
f[0] = 1;
for(int i = 0; i <= n; ++i)
for(int j = 1; j <= 3; ++j)
Inc(f[i + len[i + 1][j]], f[i]);
for(int i = 1; i <= n; ++i)
if(!(xors[i] ^ xors[n]))
Inc(ans, f[i]);
printf("%d\n", ans);
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - Shorten ABC |
| User | Schucking_Sattin |
| Language | C++ (GCC 9.2.1) |
| Score | 800 |
| Code Size | 963 Byte |
| Status | AC |
| Exec Time | 49 ms |
| Memory | 32156 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:16:7: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
16 | scanf("%d", &n);
| ~~~~~^~~~~~~~~~
./Main.cpp:17:7: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
17 | scanf("%s", ch + 1);
| ~~~~~^~~~~~~~~~~~~~
Judge Result
| Set Name | All | Sample | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 800 / 800 | 0 / 0 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| All | sample_01.txt, sample_02.txt, testcase_1.txt, testcase_10.txt, testcase_11.txt, testcase_12.txt, testcase_13.txt, testcase_14.txt, testcase_15.txt, testcase_16.txt, testcase_17.txt, testcase_18.txt, testcase_19.txt, testcase_2.txt, testcase_20.txt, testcase_21.txt, testcase_22.txt, testcase_23.txt, testcase_24.txt, testcase_25.txt, testcase_26.txt, testcase_27.txt, testcase_28.txt, testcase_29.txt, testcase_3.txt, testcase_30.txt, testcase_31.txt, testcase_32.txt, testcase_33.txt, testcase_34.txt, testcase_35.txt, testcase_36.txt, testcase_37.txt, testcase_38.txt, testcase_39.txt, testcase_4.txt, testcase_40.txt, testcase_41.txt, testcase_42.txt, testcase_43.txt, testcase_44.txt, testcase_45.txt, testcase_46.txt, testcase_47.txt, testcase_48.txt, testcase_49.txt, testcase_5.txt, testcase_50.txt, testcase_51.txt, testcase_52.txt, testcase_53.txt, testcase_54.txt, testcase_55.txt, testcase_56.txt, testcase_57.txt, testcase_58.txt, testcase_59.txt, testcase_6.txt, testcase_60.txt, testcase_61.txt, testcase_62.txt, testcase_63.txt, testcase_64.txt, testcase_65.txt, testcase_66.txt, testcase_67.txt, testcase_68.txt, testcase_69.txt, testcase_7.txt, testcase_70.txt, testcase_71.txt, testcase_72.txt, testcase_73.txt, testcase_74.txt, testcase_75.txt, testcase_76.txt, testcase_77.txt, testcase_8.txt, testcase_9.txt |
| Sample | sample_01.txt, sample_02.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 10 ms | 3732 KiB |
| sample_02.txt | AC | 2 ms | 3600 KiB |
| testcase_1.txt | AC | 2 ms | 3696 KiB |
| testcase_10.txt | AC | 1 ms | 3652 KiB |
| testcase_11.txt | AC | 2 ms | 3720 KiB |
| testcase_12.txt | AC | 2 ms | 3776 KiB |
| testcase_13.txt | AC | 2 ms | 3812 KiB |
| testcase_14.txt | AC | 1 ms | 3720 KiB |
| testcase_15.txt | AC | 2 ms | 3772 KiB |
| testcase_16.txt | AC | 2 ms | 3728 KiB |
| testcase_17.txt | AC | 2 ms | 3664 KiB |
| testcase_18.txt | AC | 2 ms | 3716 KiB |
| testcase_19.txt | AC | 2 ms | 3836 KiB |
| testcase_2.txt | AC | 2 ms | 3700 KiB |
| testcase_20.txt | AC | 2 ms | 3836 KiB |
| testcase_21.txt | AC | 2 ms | 3828 KiB |
| testcase_22.txt | AC | 2 ms | 3732 KiB |
| testcase_23.txt | AC | 2 ms | 3696 KiB |
| testcase_24.txt | AC | 2 ms | 3836 KiB |
| testcase_25.txt | AC | 2 ms | 3780 KiB |
| testcase_26.txt | AC | 2 ms | 3772 KiB |
| testcase_27.txt | AC | 2 ms | 3648 KiB |
| testcase_28.txt | AC | 2 ms | 3740 KiB |
| testcase_29.txt | AC | 2 ms | 3676 KiB |
| testcase_3.txt | AC | 2 ms | 3516 KiB |
| testcase_30.txt | AC | 2 ms | 3596 KiB |
| testcase_31.txt | AC | 3 ms | 3732 KiB |
| testcase_32.txt | AC | 2 ms | 3724 KiB |
| testcase_33.txt | AC | 2 ms | 3600 KiB |
| testcase_34.txt | AC | 2 ms | 3656 KiB |
| testcase_35.txt | AC | 2 ms | 3736 KiB |
| testcase_36.txt | AC | 2 ms | 3536 KiB |
| testcase_37.txt | AC | 43 ms | 32148 KiB |
| testcase_38.txt | AC | 49 ms | 31924 KiB |
| testcase_39.txt | AC | 43 ms | 32048 KiB |
| testcase_4.txt | AC | 2 ms | 3728 KiB |
| testcase_40.txt | AC | 42 ms | 32156 KiB |
| testcase_41.txt | AC | 44 ms | 31912 KiB |
| testcase_42.txt | AC | 42 ms | 32044 KiB |
| testcase_43.txt | AC | 42 ms | 32148 KiB |
| testcase_44.txt | AC | 42 ms | 31992 KiB |
| testcase_45.txt | AC | 42 ms | 31916 KiB |
| testcase_46.txt | AC | 41 ms | 31956 KiB |
| testcase_47.txt | AC | 42 ms | 31916 KiB |
| testcase_48.txt | AC | 44 ms | 31960 KiB |
| testcase_49.txt | AC | 43 ms | 32056 KiB |
| testcase_5.txt | AC | 2 ms | 3720 KiB |
| testcase_50.txt | AC | 46 ms | 31912 KiB |
| testcase_51.txt | AC | 42 ms | 31912 KiB |
| testcase_52.txt | AC | 25 ms | 17508 KiB |
| testcase_53.txt | AC | 28 ms | 21580 KiB |
| testcase_54.txt | AC | 24 ms | 19160 KiB |
| testcase_55.txt | AC | 14 ms | 10952 KiB |
| testcase_56.txt | AC | 35 ms | 22684 KiB |
| testcase_57.txt | AC | 14 ms | 12316 KiB |
| testcase_58.txt | AC | 18 ms | 12304 KiB |
| testcase_59.txt | AC | 13 ms | 12448 KiB |
| testcase_6.txt | AC | 3 ms | 3720 KiB |
| testcase_60.txt | AC | 12 ms | 12308 KiB |
| testcase_61.txt | AC | 15 ms | 12448 KiB |
| testcase_62.txt | AC | 13 ms | 12448 KiB |
| testcase_63.txt | AC | 36 ms | 32036 KiB |
| testcase_64.txt | AC | 31 ms | 31916 KiB |
| testcase_65.txt | AC | 40 ms | 31916 KiB |
| testcase_66.txt | AC | 37 ms | 32040 KiB |
| testcase_67.txt | AC | 36 ms | 31992 KiB |
| testcase_68.txt | AC | 35 ms | 32040 KiB |
| testcase_69.txt | AC | 37 ms | 32124 KiB |
| testcase_7.txt | AC | 2 ms | 3776 KiB |
| testcase_70.txt | AC | 36 ms | 32092 KiB |
| testcase_71.txt | AC | 37 ms | 32092 KiB |
| testcase_72.txt | AC | 33 ms | 32056 KiB |
| testcase_73.txt | AC | 37 ms | 31916 KiB |
| testcase_74.txt | AC | 39 ms | 31912 KiB |
| testcase_75.txt | AC | 36 ms | 31912 KiB |
| testcase_76.txt | AC | 36 ms | 31916 KiB |
| testcase_77.txt | AC | 37 ms | 31956 KiB |
| testcase_8.txt | AC | 2 ms | 3780 KiB |
| testcase_9.txt | AC | 2 ms | 3596 KiB |