zoukankan      html  css  js  c++  java
  • CodeforcesRound#551(Div. 2)(A-C题解)

    http://codeforces.com/contest/1153/problem/A

    题意:有n辆车,有一个人从第m站上车。接下来n行,每行两个数a,b代表有一路车第一站到a站,然后每隔b站停一次。问你这个人会上哪个车。输出任意答案即可。

    思路:数据1e5,直接标记会到的站点暴力跑就可以了。

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 
     4 int n,m;
     5 int a[100005];
     6 int d[100005];
     7 int p[300005];
     8 int main(){
     9     cin >> n >> m;
    10     memset(p,0,sizeof(p));
    11     for(int i = 1;i <= n;i ++){
    12         cin >> a[i] >> d[i];
    13         int t = a[i];
    14         while(t <= 300000){
    15             p[t] = i;
    16             t += d[i];
    17         }
    18     }
    19     for(int i = m;i <= 300000;i ++){
    20         if(p[i] != 0){
    21             cout << p[i] << endl;
    22             break;
    23         }
    24     }
    25 
    26     return 0;
    27 }
    A

    http://codeforces.com/contest/1153/problem/B

    题意:第一行三个数代表某种由1*1*1的积木搭成的一个形状的长宽高。第二行m个数代表正视图的每个格子有多高。第三行n个数为左视图的每隔各自有多高。下面n*m个数代表俯视图的每个格子是否有积木。

       输出n*m个数代表俯视图,不过要输出每个点的有几块积木。输出任意答案即可。

    思路:ans[i][j] = min(front[j],left[i])。

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 
     4 int n,m,k;
     5 int fr[105];
     6 int lf[105];
     7 int top[105][105];
     8 int ans[105][105];
     9 int main(){
    10     cin >> n >> m >> k;
    11     memset(ans,0,sizeof(ans));
    12     for(int i = 1;i <= m;i ++){
    13         cin >> fr[i];
    14     }
    15     for(int i = 1;i <= n;i ++){
    16         cin >> lf[i];
    17     }
    18     for(int i = 1;i <= n;i ++){
    19         for(int j = 1;j <= m;j ++){
    20             cin >> top[i][j];
    21         }
    22     }
    23     for(int i = 1;i <= n;i ++){
    24         for(int j = 1;j <= m;j ++){
    25             if(top[i][j]){
    26                 ans[i][j] = min(lf[i],fr[j]);
    27             }
    28         }
    29     }
    30     for(int i = 1;i <= n;i ++){
    31         for(int j = 1;j <= m;j ++){
    32             if(j != 1){cout << " ";}
    33             cout << ans[i][j];
    34         }cout << endl;
    35     }
    36 
    37 
    38 
    39     return 0;
    40 }
    B

    http://codeforces.com/contest/1153/problem/C

    题意:给一串只含有'(',')','?'的字符串,你要将问好换成左右括号,问你全部将问号填上之后,会不会形成一个所有前缀串的括号都不匹配,但是全串的括号匹配的串。

    思路:很明显,初始串长度必须为偶数,左右括号数量不能超过串长的一半(这条卡了我两发,有点蠢)。然后贪心填写左括号直到左括号用完。最后判断就行了。

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 
     4 int n,m;
     5 char in[300005];
     6 int main(){
     7     cin >> n;
     8     scanf("%s",in);
     9     if(n % 2){cout << ":(" << endl;return 0;}
    10     int left = 0;
    11     int right = 0;
    12     for(int i = 0;i < n;i ++){
    13         if(in[i] == '('){left ++;}
    14         if(in[i] == ')'){right ++;}
    15     }
    16     left = n / 2 - left;
    17     if(left < 0){cout << ":(" << endl;return 0;}
    18     if(right > n / 2){cout << ":(" << endl;return 0;}
    19     for(int i = 0;i < n;i ++){
    20         if(in[i] == '?'){
    21             if(left){
    22                 in[i] = '(';
    23                 left --;
    24             }
    25             else{
    26                 in[i] = ')';
    27             }
    28         }
    29     }
    30     //printf("%s
    ",in);
    31     int f = 1,cnt = 0;
    32     for(int i = 0;i < n;i ++){
    33         if(in[i] == '('){
    34             cnt ++;
    35         }
    36         else{
    37             if(cnt){
    38                 cnt --;
    39                 if(cnt == 0 && i != n - 1){
    40                     f = 0;
    41                 }
    42             }
    43             else{
    44                 f = 0;
    45             }
    46         }
    47     }
    48     if(f){
    49         printf("%s
    ",in);
    50     }
    51     else{
    52         cout << ":(" << endl;
    53     }
    54 
    55     return 0;
    56 }
    C

    http://codeforces.com/contest/1153/problem/D

    D题留坑,感觉是有一种方式最优的,还没想到

  • 相关阅读:
    sql server 中隐藏掉无关数据库
    Web Deploy自动配置
    jQuery form表单序列化为JSON对象!
    CURL HELP
    sql server生成递归日期、连续数据
    MVC项目中,如何访问Views目录下的静态文件!
    DDNS动态更新
    佛祖保佑 永无bug
    asp.net webservice返回json问题
    asp.net使用Get请求webservice
  • 原文地址:https://www.cnblogs.com/love-fromAtoZ/p/10704080.html
Copyright © 2011-2022 走看看