zoukankan      html  css  js  c++  java
  • Codeforces Round #616 (Div. 2)

    A.Even But Not Even

    题意:给你一个很长的数,可以删减里面的任意数字,要求本身不能除以2,但是该数的各位和能除以2,输出任意符合要求的删减过后的数

    思路:找出两个奇数即可,奇数的拼凑本身就是奇数,但是和就是偶数,就满足要求了。。竟然wa了两发,,-1没有换行。。。

    
    
     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 typedef long long ll;
     4 const int maxn = 1e5;
     5 
     6 int main(){
     7     int T;
     8     scanf("%d",&T);
     9     while(T--)
    10     {
    11         int n;
    12         scanf("%d",&n);
    13         string s;
    14         cin>>s;
    15         if(n==1) {
    16             printf("-1
    ");
    17             continue;
    18         }
    19         int sum=0;
    20         int a[100];
    21         for(int i=0;i<n;i++)
    22         {
    23             if((s[i]-'0')%2!=0)
    24             {
    25                // printf("%d
    ",s[i]-'0');
    26                 a[sum++]=s[i]-'0';
    27                 if(sum==2)
    28                     break;
    29             }
    30         }
    31         if(sum==2)
    32         {
    33             for(int i=0;i<sum;i++)
    34             {
    35                 printf("%d",a[i]);
    36             }
    37             printf("
    ");
    38         }
    39         else
    40             printf("-1
    ");
    41     }
    42     return 0;
    43 }
    
    
    
     

    B - Array Sharpening

    题意:给你一个序列a[],要求你找出k使得k位置之前是严格单调递增,k之后是严格单调递减,你可以任意删减>0的数,对他减一任意次,问是否这个序列有这样的K

    思路:对于K左边的要求a[i]>i-1即可,当不满足时,此时的i就是k,K后面的a[i]=min(a[i-1]-1,a[i]),这样一直减下去,判断最后一个数是否>0即可,当一直满足a[i]>i-1时,那么这个序列就可以通过删减变成严格单调递增序列,也是满足条件的的

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 typedef long long ll;
     4 const int maxn = 3e5+10;
     5 
     6 int main(){
     7     int T;
     8     scanf("%d",&T);
     9     while(T--)
    10     {
    11         int n;
    12         scanf("%d",&n);
    13         long long a[maxn];
    14         for(int i=0;i<n;i++)
    15             cin>>a[i];
    16         int k=0;
    17         bool flag=true;
    18         for(int i=0;i<n;i++)
    19         {
    20             if(a[i]<=i-1)
    21             {
    22                 flag=false;
    23                 k=i;
    24                 break;
    25             }
    26         }
    27         if(n==1||flag)
    28             printf("Yes
    ");
    29         else
    30         {
    31             int j=0;
    32             for(int i=k;i<n;i++)
    33             {
    34                 a[i]=min(a[i-1]-1,a[i]);
    35             }
    36             if(a[n-1]>=0)
    37                 printf("Yes
    ");
    38             else
    39                 printf("No
    ");
    40         }
    41     }
    42     return 0;
    43 }
  • 相关阅读:
    程序员通过什么渠道接外包项目
    中小型软件项目开发一般流程建议
    DevExpress GridControl功能总结
    页面UI注意事项,你在乎吗?
    加密,解密
    本地化(国际化)
    AutoLayout(自动布局)
    UItableView与UICollectionView
    分享iOS开发常用(三方类库,工具,高仿APP,实用网站,技术干货)
    NSPredicate
  • 原文地址:https://www.cnblogs.com/Vampire6/p/12254401.html
Copyright © 2011-2022 走看看