zoukankan      html  css  js  c++  java
  • Educational Codeforces Round 82 (Rated for Div. 2)

    A.Erasing Zeroes

    题解:暴力即可,统计区间1的0。

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 typedef long long ll;
     4 int t;
     5 char s[110];
     6 int main()
     7 {
     8     scanf("%d",&t);
     9     while(t--)
    10     {
    11         int ans = 0;
    12         scanf(" %s",s);
    13         int len = strlen(s);
    14         bool flag = true;
    15         for(int j = 0,i = 0; i < len; i++)
    16         {
    17             if(s[i] == '1' && s[i+1] == '0' && i+1 < len && flag) j = i,flag = false;
    18             if(s[i] == '0' && s[i+1] == '1' && i+1 < len && !flag) ans += i-j,flag = true;
    19         }
    20         printf("%d
    ",ans);
    21     }
    22     return 0;
    23 }
    View Code

    B.National Project

    题解:贪心思想,坏天气小于好天气,之间开工,好天气小于坏天气输出的时候要注意比较和路的长度。

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 typedef long long ll;
     4 int t;
     5 ll n,g,b,ans;
     6 int main()
     7 {
     8     std::ios::sync_with_stdio(false);
     9     cin.tie(0);
    10     cin>>t;
    11     while(t--)
    12     {
    13         ll t = 0;
    14         ans = 0;
    15         cin>>n>>g>>b;
    16         t = (n+1)/2;
    17         if(b <= g)
    18         {
    19             cout<<n<<'
    ';
    20         }
    21         if(b > g)
    22         {
    23             ll tt = t%g;
    24             if(tt) ans = (t/g)*(g+b)+tt;
    25             else ans = (t/g)*(b+g) - b;
    26             cout<<max(ans,n)<<'
    ';
    27         }
    28     }
    29     return 0;
    30 }
    View Code

    C.Perfect Keyboard

    题解:开空间存相邻的,扫一次暴力判断

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 typedef long long ll;
     4 int dis[26][26];
     5 vector<int>v[30];
     6 int ans[30],idx=0;
     7 int q[30];
     8 int vis;
     9 void dfs(int x,int fa)   //dfs(i,-1)
    10 {
    11     q[x]=1;
    12     ans[++idx]=x;
    13     int L = v[x].size();
    14     for(int i = 0; i < L; ++i)
    15     {
    16         if(v[x][i]==fa)
    17             continue;
    18         if(q[v[x][i]])
    19         {
    20             vis=-1;
    21             continue;
    22         }
    23         dfs(v[x][i],x);
    24     }
    25 }
    26 int main()
    27 {
    28     int t;
    29     scanf("%d",&t);
    30     while(t--)
    31     {
    32         idx=0;
    33         string s;
    34         cin>>s;
    35         memset(dis,0,sizeof dis);
    36         int len = s.size();
    37         for(int i=0; i<len-1; i++)
    38         {
    39             int a=s[i]-'a',b=s[i+1]-'a';
    40             dis[a][b]=dis[b][a]=1;
    41         }
    42         vis=0;
    43         for(int i=0; i<26; i++)
    44         {
    45             int num=0;
    46             v[i].clear();
    47             q[i]=0;
    48             for(int j=0; j<26; j++)
    49             {
    50                 if(i==j) continue;
    51                 if(dis[i][j]==1) v[i].push_back(j),num++;
    52             }
    53             if(num>2) vis=-1;
    54         }
    55         if(vis==-1) puts("NO");
    56         else
    57         {
    58             for(int i=0; i<26; i++)
    59             {
    60                 if(v[i].size()==0)
    61                 {
    62                     ans[++idx]=i;
    63                     q[i]=1;
    64                 }
    65                 else if(v[i].size()==1&&q[i]==0) dfs(i,-1);
    66             }
    67             for(int i=0; i<26; i++)
    68                 if(!q[i]) vis=-1;
    69             if(vis==-1) puts("NO");
    70             else
    71             {
    72                 printf("YES
    ");
    73                 for(int i=1; i<=26; i++) printf("%c",'a'+ans[i]);
    74                 puts("");
    75             }
    76         }
    77     }
    78 }
    View Code

     

     

  • 相关阅读:
    IO模型
    协程
    线程
    进程总结
    HashMap和Hashtable有什么区别
    HashMap 1.7 与 1.8 的 区别,说明 1.8 做了哪些优化,如何优化的
    GC线程是否为守护线程?
    float f=3.4;是否正确?
    final、finally和finalized的区别?
    Eureka注册中心是什么?
  • 原文地址:https://www.cnblogs.com/Edviv/p/12305641.html
Copyright © 2011-2022 走看看