zoukankan      html  css  js  c++  java
  • 初始化codeforce 298 B Sail初始化

    发一下牢骚和主题无关:

        The polar bears are going fishing. They plan to sail from (sx, sy) to (ex, ey). However, the boat can only sail by wind. At each second, the wind blows in one of these directions: east, south, west or north. Assume the boat is currently at (x, y).

        

    • If the wind blows to the east, the boat will move to (x + 1, y).
    • If the wind blows to the south, the boat will move to (x, y - 1).
    • If the wind blows to the west, the boat will move to (x - 1, y).
    • If the wind blows to the north, the boat will move to (x, y + 1).

        Alternatively, they can hold the boat by the anchor. In this case, the boat stays at (x, y). Given the wind direction for t seconds, what is the earliest time they sail to (ex, ey)?

        

    Input

        The first line contains five integers t, sx, sy, ex, ey (1 ≤ t ≤ 105, - 109sx, sy, ex, ey ≤ 109). The starting location and the ending location will be different.

        The second line contains t characters, the i-th character is the wind blowing direction at the i-th second. It will be one of the four possibilities: "E" (east), "S" (south), "W" (west) and "N" (north).

        

    Output

        If they can reach (ex, ey) within t seconds, print the earliest time they can achieve it. Otherwise, print "-1" (without quotes).

        

    input
        每日一道理
    只有启程,才会到达理想和目的地,只有拼搏,才会获得辉煌的成功,只有播种,才会有收获。只有追求,才会品味堂堂正正的人。
    5 0 0 1 1
    SESNW

        

    output
    4

        

    input
    10 5 3 3 6
    NENSWESNEE

        

    output
    -1

        

    Note

        In the first sample, they can stay at seconds 13, and move at seconds 24.

        In the second sample, they cannot sail to the destination.

        

        

        #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>






    int sx,sy,ex,ey;
    int t;
    char direc[100100];
    int nneed,eneed,wneed,sneed;//每次都得初始化
    int n,e,w,s;//每次都得初始化
    void caculate()
    {
    nneed=0;eneed=0;sneed=0;wneed=0;
    int tempx=ex-sx;
    int tempy=ey-sy;
    if(tempx>=0)
    {
    eneed=tempx;
    }
    else
    {
       wneed=-tempx;
    }
    if(tempy>=0)
    {
    nneed=tempy;
    }
    else
    {
    sneed=-tempy;
    }


    }
    int isposi(int a)
    {
    if(a<0)
    return 0;
    else return a;
    }
    int compare()
    {
    if(isposi(nneed-n)==0&&isposi(sneed-s)==0&&isposi(eneed-e)==0&&isposi(wneed-w)==0)
    return 1;
    else return 0;
    }
    void solve()
    {
    n=0;s=0;e=0;w=0;
    scanf("%s",direc);
    for(int i=0;i<t;i++)
    {
    switch(direc[i])
    {
    case 'N':
    {
    n++;
    break;
    }
    case 'S':
    {
    s++;
    break;
    }
    case 'E':
    {
    e++;
    break;
    }
    case 'W':
    {
    w++;
    break;
    }
    }
    if(compare()==1)
    {
    printf("%d\n",i+1);
    return;
    }
    }
    printf("-1\n");
    }
    int main(int argc, char *argv[])
    {
    while(scanf("%d %d %d %d %d",&t,&sx,&sy,&ex,&ey)!=EOF)
    {
    caculate();//算计须要的n,e,s,w
    solve();
    }
    return 0;
    }

    文章结束给大家分享下程序员的一些笑话语录: 女人篇
      有的女人就是Windows虽然很优秀,但是安全隐患太大。
      有的女人就是MFC她条件很好,然而不是谁都能玩的起。
      有的女人就是C#长的很漂亮,但是家务活不行。
      有的女人就是C++,她会默默的为你做很多的事情。
      有的女人就是汇编虽然很麻烦,但是有的时候还得求它。
      有的女人就是SQL,她会为你的发展带来莫大的帮助。

  • 相关阅读:
    springcloud有哪些特征
    可变参数
    递归
    增强的for循环
    Scanner对象
    注释
    Markdown常见的样式语法
    副本机制
    消费者分区分配策略
    SpringMVC 登陆判断
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3033348.html
Copyright © 2011-2022 走看看