• 2019acm山东省赛C题


    传送门: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4115

    昨天赛场上只想到了一种情况:最远点一定是在最后一次循环中产生的,且一定是第一次循环中最远点对应的那个点,因此想到的只是求出第一次循环中的终点,找到它相对于第一次循环里最远点的相对位置,然后。。。。。WA了。

    后来,大佬的点拨才发现,脑子是个好东西啊啊啊啊啊!也可以在第一次啊!

    比如, n=26, k=2;

            RRRRRRUUUUUULLLLLLLDDDDDDD;画一画你就知道了^ ^;

    然后经过自己的一些验算可以发现最远点其实只会在第一次循环个和最后一次循环中产生的;

    所以AC代码如下:

      1 /* */
      2 # include <stdio.h>
      3 # include <stdlib.h>
      4 struct node1
      5 {
      6     long long int xx;
      7     long long int yy;
      8 }ss[110000];
      9 
     10 struct node2
     11 {
     12     long long int xxx;
     13     long long int yyy;
     14 }sss[110000];
     15 
     16 int main()
     17 {
     18     long long int T, n, k, i, x, y, maxq, maxz, t1, t2, t, tt1, tt2, tt;
     19     char s[110000];
     20     long long int xz, yz;
     21     while( ~ scanf("%lld", &T) )
     22     {
     23         while( T-- )
     24         {
     25             scanf("%lld %lld", &n, &k);
     26             getchar();
     27             gets(s);
     28             maxq = 0;
     29             maxz = 0;
     30             x = 0;
     31             y = 0;
     32             for( i=0; i<n; i++ )
     33             {
     34                 if( s[i]=='R' )
     35                 {
     36                     x++;
     37                 }
     38                 if( s[i]=='L' )
     39                 {
     40                     x--;
     41                 }
     42                 if( s[i]=='U' )
     43                 {
     44                     y++;
     45                 }
     46                 if( s[i]=='D' )
     47                 {
     48                     y--;
     49                 }
     50                 ss[i].xx = x;
     51                 ss[i].yy = y;
     52                 t1 = x - 0;
     53                 t2 = y - 0;
     54                 if( t1<0 )
     55                 {
     56                     t1 = -t1;
     57                 }
     58                 if( t2<0 )
     59                 {
     60                     t2 = -t2;
     61                 }
     62                 t = t1+t2;
     63                 if( t>maxq )
     64                 {
     65                     maxq = t;
     66                 }
     67             }
     68             xz = x * (k-1);///第(k-1)次循环的终点,最后一次循环的起点
     69             yz = y * (k-1);
     70             for( i=0; i<n; i++ )
     71             {
     72                 if( s[i]=='R' )
     73                 {
     74                     xz++;
     75                 }
     76                 if( s[i]=='L' )
     77                 {
     78                     xz--;
     79                 }
     80                 if( s[i]=='U' )
     81                 {
     82                     yz++;
     83                 }
     84                 if( s[i]=='D' )
     85                 {
     86                     yz--;
     87                 }
     88                 sss[i].xxx = xz;
     89                 sss[i].yyy = yz;
     90                 tt1 = xz - 0;
     91                 tt2 = yz - 0;
     92                 if( tt1<0 )
     93                 {
     94                     tt1 = -tt1;
     95                 }
     96                 if( tt2<0 )
     97                 {
     98                     tt2 = -tt2;
     99                 }
    100                 tt = tt1+tt2;
    101                 if( tt>maxz )
    102                 {
    103                     maxz = tt;
    104                 }
    105             }
    106             if( maxz>maxq )
    107             {
    108                 printf("%lld
    ", maxz);
    109             }
    110             else
    111             {
    112                 printf("%lld
    ", maxq);
    113             }
    114         }
    115     }
    116     return 0;
    117 }
    View Code
  • 相关阅读:
    08 字体属性设置-font-family
    函数-函数进阶-生成器调用方法
    函数-函数进阶-斐波那契
    函数-函数进阶-列表生成式
    函数-函数进阶-装饰器带参数2
    函数-函数进阶-装饰带参数的函数
    函数-函数进阶-装饰器流程分析
    函数-函数进阶-装饰器
    函数-函数进阶-闭包
    函数-函数进阶-作用域的查找空间
  • 原文地址:https://www.cnblogs.com/wsy107316/p/10857418.html
Copyright © 2020-2023  润新知