zoukankan      html  css  js  c++  java
  • G

    题目链接:https://vjudge.net/contest/162220#problem/G

    题解:

    1.构造gcd函数(辗转相除法)

    2.先求出a数组的gcd不是1直接YES(肯定比1大啊~)

    3.根据题目的特殊构造只有数组元素————奇数和偶数,

    所以分类讨论,根据奇奇和奇偶|| 偶奇 来++(就是要把数组元素设定为2来计算gcd,具体++要根据分类来)

    AC code:

    #include<iostream>
    #include<cstdio>
    using namespace std;

    int gcd(int a,int b)
    {
        int t;
        t=a%b;
        while(t)
        {
         a=b;
         b=t;
         t=a%b;
     }
     return b;
    }

    int main()
    {
        int n,tmp=0;
        int a[100010]={0};
        cin>>n;
        for(int i=1;i<=n;i++)
     {
            cin>>a[i];
            tmp=gcd(tmp,a[i]);
        }
        if(tmp!=1)
            cout<<"YES"<<" "<<"0"<<endl;
        else{
            int ans=0;
            for(int i=1;i<n;i++)
      {
                if(a[i]&1&&a[i+1]&1)
       {
                    ans++;
                    a[i]=a[i+1]=2;
                }
            }
            for(int i=1;i<n;i++)
      {
                if(a[i]&1||a[i+1]&1)
       {
                    ans+=2;
                    a[i]=a[i+1]=2;
                }
            }
            cout<<"YES"<<endl;
            cout<<ans<<endl;
        }
        return 0;
    }

  • 相关阅读:
    20.multi_case04
    Linux 性能监测:Memory
    Linux 性能监测:介绍
    Linux 性能监测:CPU
    服务器压力上不去原因分析
    Oracle数据库shutdown immediate被hang住的几个原因
    性能测试需求指标分析方法
    关于spotlight for Windows和spotlight for oracle的使用
    Oracle性能监控脚本(sql)
    Oracle 常用性能监控SQL语句
  • 原文地址:https://www.cnblogs.com/DemonZiv/p/6818894.html
Copyright © 2011-2022 走看看