• Codeforces Round #578 (Div. 2)(A、B、C、D、E)


    A、Hotelier

    简单模拟

     1 #include<iostream>
     2 #include<sstream>
     3 #include<fstream>
     4 #include<algorithm>
     5 #include<cstring>
     6 #include<iomanip>
     7 #include<cstdlib>
     8 #include<cctype>
     9 #include<vector>
    10 #include<string>
    11 #include<cmath>
    12 #include<ctime>
    13 #include<stack>
    14 #include<queue>
    15 #include<map>
    16 #include<set>
    17 #define mem(a,b) memset(a,b,sizeof(a))
    18 #define random(a,b) (rand()%(b-a+1)+a)
    19 #define ll long long
    20 #define ull unsigned long long
    21 #define e 2.71828182
    22 #define Pi acos(-1.0)
    23 #define ls(rt) (rt<<1)
    24 #define rs(rt) (rt<<1|1)
    25 #define lowbit(x) (x&(-x))
    26 using namespace std;
    27 int read()
    28 {
    29     int s=1,x=0;
    30     char ch=getchar();
    31     while(!isdigit(ch)) {if(ch=='-') s=-1;ch=getchar();}
    32     while(isdigit(ch)) {x=10*x+ch-'0';ch=getchar();}
    33     return x*s;
    34 }
    35 int main()
    36 {
    37     int n=read();
    38     vector<int> room(10,0);
    39     string str;cin>>str;
    40     for(int i=0;i<n;++i)
    41     {
    42         
    43         if(str[i]=='L')
    44             *find(room.begin(),room.end(),0)=1;
    45         else if(str[i]=='R') 
    46             *find(room.rbegin(),room.rend(),0)=1;
    47         else     
    48             room[str[i]-'0']=0;
    49     }
    50     for(int i=0;i<10;++i)
    51     cout<<room[i];
    52 }
    View Code

    B、Block Adventure

    包的容积是无限的话就很好做,存砖块存的越多越好呗,能存就存,用的时候不够就No。

     1 #include<iostream>
     2 #include<sstream>
     3 #include<fstream>
     4 #include<algorithm>
     5 #include<cstring>
     6 #include<iomanip>
     7 #include<cstdlib>
     8 #include<cctype>
     9 #include<vector>
    10 #include<string>
    11 #include<cmath>
    12 #include<ctime>
    13 #include<stack>
    14 #include<queue>
    15 #include<map>
    16 #include<set>
    17 #define mem(a,b) memset(a,b,sizeof(a))
    18 #define random(a,b) (rand()%(b-a+1)+a)
    19 #define ll long long
    20 #define ull unsigned long long
    21 #define e 2.71828182
    22 #define Pi acos(-1.0)
    23 #define ls(rt) (rt<<1)
    24 #define rs(rt) (rt<<1|1)
    25 #define lowbit(x) (x&(-x))
    26 using namespace std;
    27 const int MAXN=105;
    28 int a[MAXN],n,m,k;
    29 int read()
    30 {
    31     int s=1,x=0;
    32     char ch=getchar();
    33     while(!isdigit(ch)) {if(ch=='-') s=-1;ch=getchar();}
    34     while(isdigit(ch)) {x=10*x+ch-'0';ch=getchar();}
    35     return x*s;
    36 }
    37 bool solve()
    38 {
    39     for(int i=2;i<=n;++i)
    40     {
    41         if(a[i]-a[i-1]>k)
    42         {
    43             if(m<a[i]-a[i-1]-k) return false;
    44             else m-=(a[i]-a[i-1]-k);
    45         }
    46         else m+=min(0,k-a[i])+a[i-1];
    47     }
    48     return true;
    49 }
    50 int main()
    51 {
    52     int t=read();
    53     while(t--)
    54     {
    55         n=read(),m=read(),k=read();
    56         for(int i=1;i<=n;++i) a[i]=read();
    57         if(solve()) cout<<"YES
    ";
    58         else cout<<"NO
    ";
    59     }
    60     return 0;
    61 }
    View Code

    C、Round Corridor

    找出n和m的最大公因数,对n和m进行约分后,每n个内块和m个外块是连通的。

     1 #include<iostream>
     2 #include<sstream>
     3 #include<fstream>
     4 #include<algorithm>
     5 #include<cstring>
     6 #include<iomanip>
     7 #include<cstdlib>
     8 #include<cctype>
     9 #include<vector>
    10 #include<string>
    11 #include<cmath>
    12 #include<ctime>
    13 #include<stack>
    14 #include<queue>
    15 #include<map>
    16 #include<set>
    17 #define mem(a,b) memset(a,b,sizeof(a))
    18 #define random(a,b) (rand()%(b-a+1)+a)
    19 #define ll long long
    20 #define ull unsigned long long
    21 #define e 2.71828182
    22 #define Pi acos(-1.0)
    23 #define ls(rt) (rt<<1)
    24 #define rs(rt) (rt<<1|1)
    25 #define lowbit(x) (x&(-x))
    26 using namespace std;
    27 ll read()
    28 {
    29     ll s=1,x=0;
    30     char ch=getchar();
    31     while(!isdigit(ch)) {if(ch=='-') s=-1;ch=getchar();}
    32     while(isdigit(ch)) {x=10*x+ch-'0';ch=getchar();}
    33     return x*s;
    34 }
    35 int main()
    36 {
    37     ll n=read(),m=read(),q=read();
    38     ll tmp=__gcd(n,m);
    39     n/=tmp,m/=tmp;
    40     ll x1,y1,x2,y2;
    41     while(q--)
    42     {
    43         x1=read(),y1=read()-1,x2=read(),y2=read()-1;
    44         if(x1==1) y1/=n;
    45         else y1/=m;
    46         if(x2==1) y2/=n;
    47         else y2/=m;
    48         if(y1==y2) cout<<"YES
    ";
    49         else cout<<"NO
    ";
    50     }
    51     return 0;
    52 }
    View Code

    D、White Lines

    较为详细地记录在了CSDN上

     https://blog.csdn.net/qq_40889820/article/details/99430740

    E、Compress Words

     KMP的题,最近做得少,补一些题再补代码

  • 相关阅读:
    Web服务器安全设置
    java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射
    Java IO和Java NIO在文件拷贝上的性能差异分析
    Java高效读取大文件
    NIO入门之轻松读取大文件
    我来说说java的NIO
    java读取大文件 超大文件的几种方法
    @RequestBody 的正确使用办法
    友鱼项目知识点
    怎样查看Tomcat动态控制台信息
  • 原文地址:https://www.cnblogs.com/wangzhebufangqi/p/11343408.html
Copyright © 2020-2023  润新知