zoukankan      html  css  js  c++  java
  • ZOJ 4033 CONTINUE...?(The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple)

     1 #include <iostream>
     2 #include <algorithm>
     3 using namespace std;
     4 
     5 const int maxn = 1e5 + 5;
     6 int a[maxn];
     7 
     8 int main(){
     9     int t;
    10     cin >> t;
    11     while(t--){
    12         int n;
    13         cin >> n;
    14         string s;
    15         cin >> s;
    16         int sum = 0;
    17         bool l = true;
    18         int i;
    19         for(i = n-1;i >= 1;i -= 2){
    20             sum += 2*i+1;
    21             if(l){
    22                 if(s[i] == '0'){
    23                     a[i] = 2;
    24                 }
    25                 else
    26                     a[i] = 4;
    27                 if(s[i-1] == '0'){
    28                     a[i-1] = 1;
    29                 }
    30                 else a[i-1] = 3;
    31                 l = false;
    32             }
    33             else{
    34                 if(s[i] == '0'){
    35                     a[i] = 1;
    36                 }
    37                 else
    38                     a[i] = 3;
    39                 if(s[i-1] == '0'){
    40                     a[i-1] = 2;
    41                 }
    42                 else a[i-1] = 4;
    43                 l = true;
    44             }
    45         }
    46         if(i == 0){
    47             sum += 1;
    48             if(l){
    49                 if(s[0] == '0'){
    50                     a[0] = 2;
    51                 }
    52                 else
    53                     a[0] = 4;
    54             }
    55             else{
    56                 if(s[0] == '0'){
    57                     a[0] = 1;
    58                 }
    59                 else
    60                     a[0] = 3;
    61             }
    62         }
    63 
    64         if(sum%2){
    65             cout << -1 << endl;
    66             continue;
    67         }
    68         else{
    69             for(int j = 0;j < n;j++){
    70                 cout << a[j] ;
    71             }
    72             cout << endl;
    73         }
    74 
    75     }
    76     return 0;
    77 }
  • 相关阅读:
    1 Java基础知识
    2 Java中常见集合
    请求转发和重定向的区别
    Kafka之工作流程分析
    Kafka之概述
    Kafka之安装
    Oracle数据库查看用户状态
    linux压缩和解压文件命令
    JVM性能调优
    Hbase之命令
  • 原文地址:https://www.cnblogs.com/ouyang_wsgwz/p/9003397.html
Copyright © 2011-2022 走看看