鱼C论坛

 找回密码
 立即注册
查看: 1478|回复: 2

补全代码

[复制链接]
发表于 2023-11-12 21:44:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. const int N= 60;
  4. int a[N];

  5. int main()
  6. {
  7.     int t,n;
  8.     cin>>t;
  9.     while(t--)
  10.     {
  11.         cin>>n;
  12.         for(int i=0;i<n;i++)
  13.         {
  14.             cin>>a[i];
  15.         }
  16.         bool is_two=true;
  17.         for(int i=0;i<n;i++)
  18.         {
  19.             if(a[i]%2!=0)
  20.             {
  21.                 is_two =false;
  22.             }
  23.         }
  24.         // if(is_two)cout<<"YES"<<endl;  //表示全部是奇数
  25.         bool is_one=true;
  26.         for(int i=0;i<n;i++)
  27.         {
  28.             if(a[i]%2==0)
  29.             {
  30.                 is_one=false;
  31.             }
  32.         }
  33.         if(is_one||is_two)cout<<"YES"<<endl;
  34.         else
  35.         {
  36.            
  37.         
  38.         }
  39.         }
  40.         
  41. }
复制代码

else的逻辑是奇数位奇数,偶数为为偶数;或者奇数位偶数,偶数位奇数,则输出YES,否则输出NO
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-11-12 21:44:29 | 显示全部楼层
  1. else
  2. {
  3.     bool is_alternate = true;
  4.     for (int i = 0; i < n; i++)
  5.     {
  6.         if (i % 2 == 0 && a[ i] % 2 != 0)
  7.         {
  8.             is_alternate = false;
  9.             break;
  10.         }
  11.         if (i % 2 != 0 && a[ i] % 2 == 0)
  12.         {
  13.             is_alternate = false;
  14.             break;
  15.         }
  16.     }
  17.     if (is_alternate)
  18.     {
  19.         cout << "YES" << endl;
  20.     }
  21.     else
  22.     {
  23.         cout << "NO" << endl;
  24.     }
  25. }
复制代码


这段代码中,我添加了一个新的逻辑块来判断奇数位是否为奇数,偶数位是否为偶数,如果符合这个条件则输出"YES",否则输出"NO"。这里我使用了一个新的布尔变量is_alternate来表示是否符合条件。通过遍历数组a[],如果发现奇数位上是奇数而偶数位上不是偶数,或者偶数位上是偶数而奇数位上不是奇数,则将is_alternate设置为false,并且跳出循环。最后根据is_alternate的值输出对应的结果。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-12 21:45:02 | 显示全部楼层
根据你的描述,我可以帮你完成这段代码。你可以使用以下逻辑来判断奇数位和偶数位上的数字是否满足条件:
  1. if (is_one || is_two) {
  2.     cout << "YES" << endl;
  3. } else {
  4.     bool is_valid = true;
  5.     for (int i = 0; i < n; i++) {
  6.         if (i % 2 != a[i] % 2) {
  7.             is_valid = false;
  8.             break;
  9.         }
  10.     }
  11.     if (is_valid) {
  12.         cout << "YES" << endl;
  13.     } else {
  14.         cout << "NO" << endl;
  15.     }
  16. }
复制代码

这段代码中,我们首先假设满足条件(即is_validtrue),然后遍历数组,检查奇数位和偶数位上的数字是否满足条件,如果有任何一个位置不满足,则将is_valid设置为false,并且跳出循环。最后根据is_valid的值输出对应的结果。

希望这能够帮到你,如果还有其他问题或者需要进一步帮助,请随时告诉我。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-21 14:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表