【NOIP2017练习】跳跃切除子序列(模拟)

时间:2022-12-17 13:23:50

题意:

【NOIP2017练习】跳跃切除子序列(模拟)

【NOIP2017练习】跳跃切除子序列(模拟)

思路:

【NOIP2017练习】跳跃切除子序列(模拟)

已放弃

 1 #include <bits/stdc++.h>
 2 typedef long long LL;
 3 
 4 int main(){
 5     int T; scanf("%d", &T);
 6     while(T--){
 7         int a; char s[10];
 8         scanf("%d%s", &a, s);
 9         LL b;
10         for(b = a;; b += a){
11             char t[20];
12             sprintf(t, "%lld", b);
13             if(!strcmp(s, t)) goto finish;
14             int tl = strlen(t), sl = strlen(s);
15             int rn = tl - sl;
16             if(rn < 0) continue;
17             for(int i = 0; i <= sl; ++i)
18                 for(int j = 1, til; (til = i + (rn - 1) * j) < tl && j < tl; ++j){
19                     for(int k = 0, l = 0; k < sl; ++k, ++l){
20                         while(l >= i && l <= til && !((l - i) % j)) ++l;
21                         if(s[k] != t[l]) goto fail;
22                     }
23                     goto finish;
24                     fail:;
25                 }
26         }
27         finish:
28         printf("%lld\n", b);
29     }
30     // printf("clock %d\n", (int) clock());
31     return 0;
32 }