zoukankan      html  css  js  c++  java
  • POJ3282+模拟

    模拟题

     1 /*
     2 模拟
     3 注意:相同一边的车有先后顺序!
     4 */
     5 #include<stdio.h>
     6 #include<string.h>
     7 #include<stdlib.h>
     8 #include<algorithm>
     9 #include<iostream>
    10 #include<queue>
    11 #include<map>
    12 #include<stack>
    13 #include<set>
    14 #include<math.h>
    15 using namespace std;
    16 typedef long long int64;
    17 //typedef __int64 int64;
    18 typedef pair<int64,int64> PII;
    19 #define MP(a,b) make_pair((a),(b)) 
    20 const int maxn = 100000;
    21 const int inf = 0x7fffffff;
    22 const double pi=acos(-1.0);
    23 const double eps = 1e-8;
    24 
    25 struct Node{
    26     int len;
    27     int id;
    28 }a[ maxn ];
    29 
    30 bool Judge( int n ){
    31     bool f = true;
    32     for( int i=n;i>=1;i-- ){
    33         if( a[i].id!=0 ){
    34             f = false;
    35             break;
    36         }
    37     }
    38     if( f==true ) return true;
    39     else return false;
    40 }
    41 
    42 int main(){
    43     int T;
    44     //freopen("in.txt","r",stdin);
    45     //freopen("out.txt","w",stdout);
    46     scanf("%d",&T);
    47     while( T-- ){
    48         int LL,n;
    49         scanf("%d%d",&LL,&n);
    50         LL *= 100;
    51         char t[ 10 ];
    52         for( int i=1;i<=n;i++ ){
    53             scanf("%d %s",&a[i].len,t);
    54             if( t[0]=='l' ) a[i].id = -1;
    55             else a[i].id = 1;
    56         }
    57         int ans = 0;
    58         int cur = -1;
    59         int L,R;
    60         L = R = 1;
    61         while( 1 ){
    62             if( Judge( n )==true ) 
    63                 break;
    64             //judge
    65             cur = -1;
    66             int sum = 0;
    67             for( ;L<=n;L++ ){
    68                 if( a[L].id!=cur ) continue;
    69                 if( sum+a[L].len<=LL ){
    70                     sum += a[L].len;
    71                     a[ L ].id = 0;
    72                 }
    73                 else break;
    74             }
    75             ans ++;
    76             if( Judge( n )==true ) 
    77                 break;
    78             //left
    79             sum = 0;
    80             cur = 1;
    81             for( ;R<=n;R++ ){
    82                 if( a[R].id!=cur ) continue;
    83                 if( sum+a[R].len<=LL ){
    84                     sum += a[R].len;
    85                     a[ R ].id = 0;
    86                 }
    87                 else break;
    88             }
    89             ans++;
    90             //right
    91         }
    92         printf("%d
    ",ans);
    93     }
    94     return 0;
    95 }
    View Code
    keep moving...
  • 相关阅读:
    别人走的路-1
    抽象类跟接口的区别
    一个类实现多个接口的demo
    servlet+jdbc+javabean其实跟ssh差不多
    什么是shell
    设置cookie倒计时让让表单自动提交
    变量、基本数据类型
    编程语言、添加环境变量、变量
    Java优先队列一些问题
    JavaScript学习-JSON
  • 原文地址:https://www.cnblogs.com/xxx0624/p/3268352.html
Copyright © 2011-2022 走看看