zoukankan      html  css  js  c++  java
  • 1220. Stacks

    1220

    又一神题啊  卡内存可以卡到这种地步 省得不行了

    开两个【N]数组 一个来记录前驱  一个存数 记录前驱的用unsigned short类型 最大可达65535 不过可以标记一下是否比这个数大  比它大的话就减去 求的时候再加上

     1 #include <iostream>
     2 #include<cstring>
     3 #include<algorithm>
     4 #include<stdlib.h>
     5 #include<cstdio>
     6 using namespace std;
     7 #define N 100010
     8 unsigned short p2[N];
     9 int p1[N];
    10 int stack[1010];
    11 int main()
    12 {
    13     int n,a,b,g=1;
    14     char s[5];
    15     scanf("%d",&n);
    16     while(n--)
    17     {
    18         scanf("%s",s);
    19         if(strcmp(s,"PUSH")==0)
    20         {
    21             scanf("%d%d%*c",&a,&b);
    22             p1[g] = b;
    23             if(stack[a]>=65535)
    24             {
    25                 p2[g] = stack[a]-65535;
    26                 p1[g] = -p1[g];
    27             }
    28             else
    29             p2[g] = stack[a];
    30             stack[a] = g;
    31             g++;
    32         }
    33         else
    34         {
    35             scanf("%d%*c",&a);
    36             printf("%d
    ",abs(p1[stack[a]]));
    37             if(p1[stack[a]]<0)
    38             stack[a] = p2[stack[a]]+65535;
    39             else
    40             stack[a] = p2[stack[a]];
    41         }
    42     }
    43     return 0;
    44 }
    View Code
  • 相关阅读:
    深度优先和广度优先
    ajax<转>
    display:inline-block后会有间隙
    css样式多了个分号
    回答
    return false作用
    824. Goat Latin
    7. Reverse Integer
    48. Rotate Image
    9. Palindrome Number
  • 原文地址:https://www.cnblogs.com/shangyu/p/3337544.html
Copyright © 2011-2022 走看看