zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Pythontutor:可视化代码在内存的执行过程
    katalon系列六:Katalon Studio Web UI关键字讲解
    chrome flash插件改为自动运行
    katalon系列五:使用Katalon Studio手动编写WEB自动化脚本
    JMeter随机上传附件
    JDK11安装后,环境变量的坑
    katalon系列四:使用Katalon Studio录制WEB自动化脚本
    katalon系列三:Project Setting-项目设置
    tomcat服务器上https的SSL证书安装配置
    eclipse安装freemarker插件
  • 原文地址:https://www.cnblogs.com/wsy107316/p/10857418.html
Copyright © 2011-2022 走看看