提出 #50471607
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i,a,n) for (ll i=a;i<(ll)(n);i++)
#define per(i,a,n) for (ll i=n;i-->(ll)(a);)
ll read(){ll r;scanf("%lld",&r);return r;}
const int N=500000;
char s[N+10];
vector<int> ch[N+10];
int cut(const vector<char>&t){
// for(auto c:t) printf("%c",c);
// printf("\n");
int sz=t.size();
assert(sz>=2);
vector<int> cyc(sz,0); // cyc[长度]=最小循环节
iota(begin(cyc),end(cyc),1);
int ret = 1;
rep(i,1,sz-1) {
for(int l:ch[i+1]) {
if(l == cyc[i-l]){// 需要 l % cyc[i-l], 但是如果 cyc[i-l] 更小且 下面相等,那么应该有更小的周期
bool ok = true;
rep(j,0,l) if(t[j] != t[i+1-l+j]) {
ok = false;
break;
}
if(ok) {
cyc[i]=l;
break;
}
}
}
ret += cyc[i]==i+1;
}
return ret;
}
int main(){
rep(i,1,N+1) rep(j,2,N+1) {
if(i*j > N) break;
ch[i*j].push_back(i);
}
scanf("%s",s);
int sz = strlen(s);
if(sz == 1) {
printf("1\n1\n");
return 0;
}
for(auto i:ch[sz]) {
bool cycle = true;
rep(j,0,sz) if(s[j] != s[j%i]) {cycle = false;};
if(cycle) {
if(i == 1) {
printf("%d\n1\n",sz);
}else{
ll ways = 0;
if(sz/i > 2) {
ways += (sz/i-2)*(i-1); // 中间的非两段
}else{
ways += 1; // 只能切成2段
}
vector<char> t;
rep(j,0,i) t.push_back(s[j]);
ways += cut(t);
t={};
rep(j,0,i) t.push_back(s[sz-1-j]);
ways += cut(t);
printf("2\n%lld\n",ways);
}
return 0;
}
}
printf("1\n1\n");
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - 最良表現 |
| ユーザ | cromarmot |
| 言語 | C++ 20 (gcc 12.2) |
| 得点 | 0 |
| コード長 | 1694 Byte |
| 結果 | WA |
| 実行時間 | 378 ms |
| メモリ | 60804 KiB |
コンパイルエラー
Main.cpp: In function ‘ll read()’:
Main.cpp:8:21: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
8 | ll read(){ll r;scanf("%lld",&r);return r;}
| ~~~~~^~~~~~~~~~~
Main.cpp: In function ‘int main()’:
Main.cpp:44:8: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
44 | scanf("%s",s);
| ~~~~~^~~~~~~~
ジャッジ結果
| セット名 | Sample | Subtask1 | All | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 0 / 400 | 0 / 500 | ||||||||||
| 結果 |
|
|
|
| セット名 | テストケース |
|---|---|
| Sample | example_01.txt, example_02.txt, example_03.txt |
| Subtask1 | example_01.txt, example_02.txt, example_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt, subtask1_33.txt |
| All | example_01.txt, example_02.txt, example_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt, subtask1_33.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| example_01.txt | AC | 265 ms | 59224 KiB |
| example_02.txt | AC | 261 ms | 59296 KiB |
| example_03.txt | AC | 272 ms | 59116 KiB |
| subtask1_01.txt | AC | 266 ms | 59112 KiB |
| subtask1_02.txt | AC | 255 ms | 59344 KiB |
| subtask1_03.txt | WA | 263 ms | 59076 KiB |
| subtask1_04.txt | AC | 280 ms | 59124 KiB |
| subtask1_05.txt | AC | 284 ms | 59160 KiB |
| subtask1_06.txt | AC | 300 ms | 59224 KiB |
| subtask1_07.txt | AC | 290 ms | 59112 KiB |
| subtask1_08.txt | AC | 289 ms | 59172 KiB |
| subtask1_09.txt | AC | 296 ms | 59008 KiB |
| subtask1_10.txt | AC | 323 ms | 59128 KiB |
| subtask1_11.txt | AC | 280 ms | 59184 KiB |
| subtask1_12.txt | AC | 294 ms | 59124 KiB |
| subtask1_13.txt | AC | 298 ms | 59292 KiB |
| subtask1_14.txt | AC | 292 ms | 59132 KiB |
| subtask1_15.txt | AC | 275 ms | 59164 KiB |
| subtask1_16.txt | AC | 272 ms | 59116 KiB |
| subtask1_17.txt | AC | 276 ms | 59076 KiB |
| subtask1_18.txt | AC | 247 ms | 59108 KiB |
| subtask1_19.txt | AC | 249 ms | 59248 KiB |
| subtask1_20.txt | AC | 256 ms | 59120 KiB |
| subtask1_21.txt | AC | 266 ms | 59280 KiB |
| subtask1_22.txt | AC | 238 ms | 59128 KiB |
| subtask1_23.txt | AC | 253 ms | 59216 KiB |
| subtask1_24.txt | AC | 267 ms | 59112 KiB |
| subtask1_25.txt | AC | 268 ms | 59188 KiB |
| subtask1_26.txt | AC | 255 ms | 59188 KiB |
| subtask1_27.txt | AC | 250 ms | 59292 KiB |
| subtask1_28.txt | AC | 236 ms | 59300 KiB |
| subtask1_29.txt | AC | 239 ms | 59132 KiB |
| subtask1_30.txt | AC | 243 ms | 59192 KiB |
| subtask1_31.txt | AC | 272 ms | 59248 KiB |
| subtask1_32.txt | AC | 260 ms | 59124 KiB |
| subtask1_33.txt | AC | 235 ms | 59312 KiB |
| subtask2_01.txt | WA | 302 ms | 60444 KiB |
| subtask2_02.txt | AC | 253 ms | 59784 KiB |
| subtask2_03.txt | AC | 251 ms | 59716 KiB |
| subtask2_04.txt | AC | 240 ms | 59568 KiB |
| subtask2_05.txt | AC | 244 ms | 59604 KiB |
| subtask2_06.txt | AC | 286 ms | 59648 KiB |
| subtask2_07.txt | AC | 296 ms | 59644 KiB |
| subtask2_08.txt | AC | 292 ms | 59604 KiB |
| subtask2_09.txt | AC | 327 ms | 60580 KiB |
| subtask2_10.txt | AC | 333 ms | 60760 KiB |
| subtask2_11.txt | AC | 324 ms | 60804 KiB |
| subtask2_12.txt | AC | 320 ms | 60632 KiB |
| subtask2_13.txt | AC | 257 ms | 59604 KiB |
| subtask2_14.txt | AC | 247 ms | 59700 KiB |
| subtask2_15.txt | AC | 293 ms | 59788 KiB |
| subtask2_16.txt | AC | 305 ms | 59592 KiB |
| subtask2_17.txt | AC | 261 ms | 59648 KiB |
| subtask2_18.txt | AC | 253 ms | 59720 KiB |
| subtask2_19.txt | AC | 351 ms | 60640 KiB |
| subtask2_20.txt | AC | 378 ms | 60748 KiB |
| subtask2_21.txt | AC | 318 ms | 59696 KiB |
| subtask2_22.txt | AC | 318 ms | 59776 KiB |
| subtask2_23.txt | AC | 286 ms | 59676 KiB |
| subtask2_24.txt | AC | 305 ms | 59496 KiB |
| subtask2_25.txt | AC | 309 ms | 59548 KiB |
| subtask2_26.txt | AC | 331 ms | 59544 KiB |
| subtask2_27.txt | AC | 331 ms | 59576 KiB |
| subtask2_28.txt | AC | 303 ms | 59320 KiB |
| subtask2_29.txt | AC | 349 ms | 60328 KiB |