zoukankan      html  css  js  c++  java
  • PAT-1084(外观数列 ) && PAT-1085 (PAT单位排行)

    1084  利用字符串string的可加性

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 int main ()
     4 {
     5     int x,n;
     6     cin>>x>>n;
     7     string str="x";
     8     str[0]='0'+x;
     9     for (int i=2;i<=n;i++) {
    10         string  tmp="";
    11         string  t2="x";
    12         char k=str[0]; int num=1;
    13         for (int j=1;j<str.size();j++) {
    14             if (str[j]==k) num++;
    15             else {
    16                 t2[0]=k;       tmp+=t2; 
    17                 t2[0]='0'+num; tmp+=t2;
    18                 k=str[j]; num=1;
    19             }
    20         }
    21         t2[0]=k;       tmp+=t2; 
    22         t2[0]='0'+num; tmp+=t2;
    23         str=tmp;
    24     }
    25     cout<<str<<endl;
    26     return 0;
    27 }

    1085 利用map 实现学校名称的映射

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 const int N=1e5+3;
     4 struct T {
     5     string name;
     6     double sum;
     7     int p;
     8     int num;
     9 };
    10 map < string,int > mp;
    11 T t[N];
    12 int cnt;
    13 int n;
    14 bool cmp (T x,T y) {
    15     if (x.p==y.p) {
    16         if (x.num==y.num)
    17             return x.name<y.name;
    18         return x.num<y.num;
    19     }
    20     return x.p>y.p;
    21 }
    22 int main ()
    23 {
    24     ios::sync_with_stdio(false);// 不加这句话会超时
    25     cin>>n;
    26     for (int i=1;i<=n;i++) {
    27         string s1,s2; int val; double w;
    28         //getchar();// 很奇怪 ios::同步后就不需要加 而不同步就需要加
    29         cin>>s1>>val>>s2;
    30         for (int j=0;j<s2.size();j++) 
    31             if (s2[j]>='A'&&s2[j]<='Z') 
    32                 s2[j]=s2[j]-'A'+'a';
    33         if (s1[0]=='B')  w=(double)val/1.5;
    34         else if (s1[0]=='A')  w=(double)val;
    35         else                  w=(double)val*1.5;
    36         if (!mp[s2]) {
    37             mp[s2]=++cnt;
    38             t[cnt].name=s2;
    39             t[cnt].num=1;
    40             t[cnt].sum=w;
    41         }
    42         else {
    43             int id=mp[s2];
    44             t[id].num++;
    45             t[id].sum+=w;
    46         }
    47     }
    48     for (int i=1;i<=cnt;i++)
    49         t[i].p=(int)t[i].sum;
    50     sort (t+1,t+1+cnt,cmp);
    51     cout<<cnt<<"
    ";
    52 
    53     int k=1; int i=1;  int point=t[1].p;
    54     cout<<k<<" "<<t[i].name<<" "<<t[i].p<<" "<<t[i].num<<endl;
    55     for (i=2;i<=cnt;i++) {
    56         if (t[i].p==point)
    57             cout<<k<<" "<<t[i].name<<" "<<t[i].p<<" "<<t[i].num<<endl;
    58         else {
    59             point=t[i].p;
    60             k=i;
    61             cout<<k<<" "<<t[i].name<<" "<<t[i].p<<" "<<t[i].num<<endl;
    62         }
    63 
    64     }
    65     return 0;
    66 }
    抓住青春的尾巴。。。
  • 相关阅读:
    JAVA 使用 POI进行读取Excel表格示例
    问题解决:Maven execution terminated abnormally (exit code 1)
    oracle总结: INTERVAL DAY TO SECOND, 但却获得 NUMBER
    SpringMvc返回JSON出现"$.result.currentLevel"
    Spring+SpringMVC+mybatis maven pom文件
    redis在Linux上的安装
    Jsoup访问https网址异常SSLHandshakeException(已解决)
    不同版本2.5的Servlet web.xml 头信息
    Spring管理事物两种方式
    Error:too many padding sections on bottom border.
  • 原文地址:https://www.cnblogs.com/xidian-mao/p/8619528.html
Copyright © 2011-2022 走看看