码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-11-07 18:09:02      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:模拟   思路   finish   ret   image   har   color   noi   can   

题意:

技术分享

技术分享

思路:

技术分享

已放弃

 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练习】跳跃切除子序列(模拟)

标签:模拟   思路   finish   ret   image   har   color   noi   can   

原文地址:http://www.cnblogs.com/myx12345/p/7799557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!