zoukankan      html  css  js  c++  java
  • PAT 1073

    链接:http://www.patest.cn/contests/pat-a-practise/1073

    明天就考试了,圆神保佑萌萌哒~

    scientific notation,科学记数法,分几种情况进行判断,主要是exponent的部分,如果exponent小于0的话,需要在前面添加0,如果exponent大于0的话,可能在后面添加0.想清楚了不难的。

     1 #include <fstream>
     2 #include <iostream>
     3 #include <vector>
     4 #include <string>
     5 #include <stack>
     6 
     7 using namespace std;
     8 
     9 //#define OJ
    10 
    11 #ifdef OJ
    12 #define fin cin
    13 #else
    14 ifstream fin("in.txt");
    15 #endif
    16 
    17 struct Node{
    18     int cur_address;
    19     int val;
    20     int next_address;
    21 };
    22 
    23 int main(){
    24     string start;
    25     int    n, k;
    26     fin >> start >> n >> k;
    27 
    28     vector<Node> nodes(100000);
    29 
    30     for (int i = 0; i < n; i++){
    31         Node tmp;
    32         string s1, s2;
    33 
    34         fin >> s1 >> tmp.val >> s2;
    35         tmp.cur_address = atoi(s1.c_str());
    36         tmp.next_address = atoi(s2.c_str());
    37 
    38         nodes[tmp.cur_address] = tmp;
    39     }
    40 
    41     int start_idx = atoi(start.c_str());
    42     int cur_address = start_idx;
    43     vector<int> path;
    44 
    45     while (start_idx != -1){
    46         path.push_back(start_idx);
    47         start_idx = nodes[start_idx].next_address;
    48     }
    49 
    50     vector<int> res;
    51     int idx = 0;
    52     n = path.size();
    53     for (; idx + k - 1 < n; idx += k){
    54         stack<int> node_stack;
    55         for (int i = 0; i < k; i++){
    56             node_stack.push(path[idx + i]);
    57         }
    58         while (!node_stack.empty()){
    59             int tmp = node_stack.top();
    60             res.push_back(tmp);
    61             node_stack.pop();
    62         }
    63     }
    64     for (; idx < n; idx++){
    65         res.push_back(path[idx]);
    66     }
    67 
    68     for (int i = 0; i < n - 1; i++){
    69         printf("%05d %d %05d
    ", nodes[res[i]].cur_address, nodes[res[i]].val, nodes[res[i + 1]].cur_address);
    70     }
    71     printf("%05d %d %d
    ", nodes[res[n - 1]].cur_address, nodes[res[n - 1]].val, -1);
    72 
    73     return 0;
    74 }
  • 相关阅读:
    Bean复制
    java中的ConcurrentModificationException异常
    线程安全问题
    多线程等待唤醒机制之生产消费者模式
    JavaScript数据结构——队列的实现
    JavaScript数据结构——链表的实现
    JavaScript数据结构——栈的实现
    java中map集合的迭代
    SQLServer查询最近一天,三天,一周,一月,一季度方法
    细数网络上十七种安全威胁
  • 原文地址:https://www.cnblogs.com/EpisodeXI/p/4128542.html
Copyright © 2011-2022 走看看