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

Posted myx12345

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 }

 

以上是关于NOIP2017练习跳跃切除子序列(模拟)的主要内容,如果未能解决你的问题,请参考以下文章

NOIP模拟10-21最长公共子序列

数列(NOIP17提高模拟训练11)

NOIP2016模拟 最长公共子序列

noip模拟赛 运

2017-10-24 NOIP模拟赛

NOIP2017模拟8.5序列问题