zoukankan      html  css  js  c++  java
  • CodeForces 697B Barnicle 模拟

    强行模拟 纪念一下……

     1 #include<stdio.h>
     2 #include<iostream>
     3 #include<algorithm>
     4 #include<math.h>
     5 #include<string.h>
     6 #include<string>
     7 #include<map>
     8 #include<vector>
     9 #include<queue>
    10 #define M(a,b) memset(a,b,sizeof(a))
    11 using namespace std;
    12 char str[505];
    13 char strr[505];
    14 queue<int>take;
    15 int main(){
    16     while(~scanf("%s",str)){
    17         M(strr,NULL);
    18         int len=strlen(str);
    19         int i=0,j;
    20         while(true){
    21             if(str[i]=='e') break;
    22             else strr[i]=str[i];
    23             if(str[i]=='.') j=i;
    24             i++;
    25         }
    26 //        printf("%s
    ",strr);
    27         int pow_=len-1-i;
    28         int ll=str[i+1]-'0';
    29         for(int k=2;str[i+k];k++){
    30             ll*=10;
    31             ll+=str[i+k]-'0';
    32         }
    33 //        printf("ll==%d
    ",ll);
    34         while((strr[j+1]>='0'&&strr[j+1]<='9')&&ll){
    35             swap(strr[j],strr[j+1]);
    36             j++,ll--;
    37         }
    38 //        printf("ll==%d
    ",ll);
    39         int from=0;
    40         while(true){
    41             if(strr[from]=='0') from++;
    42             else break;
    43         }
    44 //        printf("from==%d
    ",from);
    45         if(strr[j-1]=='0') from--;
    46         if(from<0) from=0;
    47         int lenn=strlen(strr);
    48 //        printf("%d %c %c
    ",lenn,strr[lenn-1],strr[lenn-2]);
    49         if(strr[lenn-1]=='0' && strr[lenn-2]=='.'){
    50             for(int q=0;q<lenn-2;q++)
    51                 printf("%c",strr[q]);
    52             puts("");
    53             continue;
    54         }
    55         if(j==i-1&&ll==0){
    56 //            printf("222223
    ");
    57             for(int q=from;q<i-1;q++)
    58                 printf("%c",strr[q]);
    59             puts("");
    60         }
    61         else if(ll!=0){
    62 //            printf("1111111
    ");
    63             for(int q=0;strr[q];q++){
    64                 if(strr[q]=='.') break;
    65                 else printf("%c",strr[q]);
    66             }
    67             while(ll){
    68                 printf("0");
    69                 ll--;
    70             }
    71             puts("");
    72         }
    73         else{
    74 //            printf("22222
    ");
    75             for(int q=from;q<i;q++)
    76                 printf("%c",strr[q]);
    77             puts("");
    78         }
    79     }
    80     return 0;
    81 }
  • 相关阅读:
    28.注解2.md
    29.Junit测试框架.md
    WCF学习笔记(2)-WCF的通讯过程
    WCF学习笔记(1)-一个完整的例子
    Sql2008事务日志已满处理
    面向对象六大原则
    计算机基础(1)-原码、反码、补码
    Spring.Net学习笔记(7)-事务
    Spring.Net学习笔记(6)-方法注入
    Spring.Net学习笔记(5)-集合注入
  • 原文地址:https://www.cnblogs.com/general10/p/5754631.html
Copyright © 2011-2022 走看看