91 条题解

  • -1
    @ 2023-8-17 20:43:22
    #include<iostream>
    using namespace std;
    int main()
    {
        int n[3],m=0;
        for(int i=0;i<3;i++)
        {
            cin>>n[i];
        }
        if(n[0]<n[1])
        {
            if(n[1]-n[0]==1)
            {
                m+=1;
            }
        }
        if(n[0]<n[2])
        {
            if(n[2]-n[0]==1)
            {
                m+=1;
            }
        }
        if(n[1]<n[2])
        {
            if(n[2]-n[1]==1)
            {
                m+=1;
            }
        }
        if(n[0]>n[1])
        {
            if(n[0]-n[1]==1)
            {
                m+=1;
            }
        }
        if(n[0]>n[2])
        {
            if(n[0]-n[2]==1)
            {
                m+=1;
            }
        }
        if(n[1]>n[2])
        {
            if(n[1]-n[2]==1)
            {
                m+=1;
            }
        }
        if(m==2)
        {
            cout<<"TRUE";
        }
        else
        {
            cout<<"FALSE";
        }
        return 0;
    }
    

    打枪法

    • -1
      @ 2023-8-16 21:45:48

      #include <bits/stdc++.h> using namespace std; int main() { int a,b,c; cin>>a>>b>>c; if (a+b+c3*a+3 or a+b+c3b+3 or a+b+c==3c+3) { cout<<"TRUE"; } else { cout<<"FALSE"; } return 0; }

      • -1
        @ 2023-8-10 10:41:32
        #include <bits/stdc++.h>
        
        using namespace std;
        
        int main()
        {
            //定义变量
            int a[3], t, n = 1;    
        
            //获取数字
            for (int i = 0; i < 3; i++)
            {
                cin >> a[i];    
            }
        
            //冒泡排序
            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 3 - i; j++)
                {
                    if (a[j] < a[j + 1])
                    {
                        t = a[j];
                        a[j] = a[j + 1];
                        a[j + 1] = t;
                    }
                }
            }
        
            //判断相邻
            for (int i = 0; i < 2; i++)
            {
                if (a[i] - a[i + 1] != 1)
                {
                    n = 0;
                    break;
                }
            }
        
            //输出
            if (n == 1)
            {
                cout << "TRUE";
            }
            else
            {
                cout << "FALSE";
            }
        
        
            return 0;
        }
        
        • -1
          @ 2023-8-7 9:09:44
          #include <iostream>
          using namespace std;
          int main()
          {
              int a,b,c;
              cin >> a >> b >> c;
              if (a == b + 1 || a == b - 1)
              {
                  if (a == c + 1 || a == c - 1)
                  {
                      cout << "TRUE";
                      return 0;
                  }   
              }
              if (b == a + 1 || b == a - 1)
              {
                  if (b == c + 1 || b == c - 1)
                  {
                      cout << "TRUE";
                      return 0;
                  }
              }
              if (c == a + 1 || c == a - 1)
              {
                  if (c == b + 1 || c == b - 1)
                  {
                      cout << "TRUE";
                      return 0;
                  }
              }
              cout << "FALSE";
              return 0;
          }
          
          • -1
            @ 2023-8-5 15:57:24

            打算用冒泡排序一下的,但是一些样例AC另一些RE,求大佬解释!!

                for (int i=0;i<2;i++)
                {
                    for (int j=0;j<3-i;j++)
                    {
                        if (a[j]>a[j+1])
                        {
                            int t=a[j];
                            a[j]=a[j+1];
                            a[j+1]=t;
                        }
                    }
                }
            
            • -1
              @ 2023-8-3 10:03:37

              用了两个函数,代码格式化了一下。(本人在竞赛班里,做的有亿点迟)

              #include <bits/stdc++.h>
              using namespace std;
              bool xl(int a,int b,int c)
              {
                  return a + 1 == b || a + 1 == c || a - 1 == b || a - 1 == c;
              }
              bool sf(int a,int b,int c)
              {
                  if (xl(a,b,c) && xl(b,a,c) && xl(c,a,b))
                      return true;
                  return false;
              }
              int main()
              {
                  int a,b,c;
                  cin >> a >> b >> c;
                  if (sf(a,b,c))
                      cout << "TRUE";
                  else
                      cout << "FALSE";
                  return 0;
              }
              
              • -1
                @ 2023-8-2 18:46:25

                新手解题思路在此

                AC哈,放心食用👀️

                #include<iostream>
                using namespace std;
                int main()
                {
                    int a[3] , b , c ;
                    //b最大值,c最小值
                    for (int i = 0; i < 3; i++)
                    {
                        cin >> a[i];      
                    }
                    b = a[0];
                    c = a[0];
                    //输入整数,b,c,都等于第一个数
                    for (int i = 0; i < 3; i++)
                    {
                        if (a[i] > b)//如果a[i]大于b,b = a[i],b1 = i
                        {
                            b = a[i];
                        }
                        if (a[i] < c)//如果a[i]小于c,c = a[i],c1 = i
                        {
                            c = a[i];
                        }
                    }
                    if (b - c == 2)//相邻的三个整数中,最大数-最小数=2
                    {
                        cout << "TRUE";
                    }
                    else
                    {
                        cout << "FALSE";
                    }
                    return 0;
                }
                

                给个👍 吧

                • -1
                  @ 2023-8-2 18:01:00

                  我这种蒟蒻当然是用最基础的了

                  if(a+1==b&&b+1==c||a+1==c&&c+1==b||
                  	b+1==a&&a+1==c||b+1==c&&c+1==a||
                  	c+1==a&&a+1==b||c+1==b&&b+1==a)
                  		cout<<"TRUE"<<endl;
                  else cout<<"FALSE"<<endl;
                  

                  直接手动枚举所有情况输出就好了

                  • -1
                    @ 2023-7-31 21:54:34

                    利用最大值和最小值的差是定值解决问题。

                    #include <iostream>
                    using namespace std;
                    int main()
                    {
                        int a[4],max=-10000000,min=10000000;
                        for (int i=1;i<=3;i++)
                        {
                            cin>>a[i];
                            if (a[i]>max) max=a[i];
                            if (a[i]<min) min=a[i];
                        }
                        if (max-min==2) cout<<"TRUE";
                        else cout<<"FALSE";
                        return 0;
                    }
                    
                    • -1
                      @ 2023-7-7 16:48:38

                      #include <iostream> using namespace std; int main() { int a,b,c; cin>>a,b,c; if(ab+1||ab-1) { if(ac+1||ac-1) { cout<<"TRUE"; return 0; } } if(ba+1||ba-1) { if(bc+1||bc-1) { cout<<"TRUE"; return 0; } } if(cb+1||cb-1) { if(ca+1||ca-1) { cout<<"TRUE"; return 0; } } cout<<"FALSE"; return 0; }

                      • -1
                        @ 2023-7-6 14:22:44
                        #include <iostream>
                        using namespace std;
                        int main()
                        {
                            int a,b,c,d,sum = 0;
                            cin >> a >> b >> c;
                            d = a;
                            if(b < d)
                            {
                                d = b;
                            }
                            if(c < d)
                            {
                                d = c;
                            }
                            sum = a+b+c;
                            if(3*d+3 == sum)
                            {
                                cout << "TRUE";
                            }
                            else
                            {
                                cout << "FALSE";
                            }
                            return 0;
                        }//已AC
                        
                        • -1
                          @ 2023-6-23 21:22:18

                          OK呀,哥儿几个今儿又来刷题了嗷┗|`O′|┛

                              long long a,b,c;
                              cin>>a>>b>>c;
                              if ((c==b+1) and (c==a+2))//a<b<c
                              {
                                  cout<<"TRUE";
                              }
                              else if ((b==c+1) and (b==a+2))//a<c<b
                              {
                                  cout<<"TRUE";
                              }
                              else if ((c==a+1) and (c==b+2))//b<a<c
                              {
                                  cout<<"TRUE";
                              }
                              else if ((a==c+1) and (a==b+1))//b<c<a
                              {
                                  cout<<"TRUE";
                              }
                              else if ((b==a+1) and (b==c+2))//c<a<b
                              {
                                  cout<<"TRUE";
                              }
                              else if ((a==b+1) and (a==c+2))//c<b<a
                              {
                                  cout<<"TRUE";
                              }
                              else
                              {
                                  cout<<"FALSE";
                              }
                          

                          注释啥的应该都看得懂,这里不过多解释。 不太建议用这种死亡判断,写错一个都要找bug找很久

                          • -1
                            @ 2023-6-15 18:46:04

                            用绕大圈的方式解决问题:

                            #include <iostream>
                            using namespace std;
                            int main()
                            {
                                int n[3], a;  // 绕一个大圈, 用数组解决;
                                for (int i = 0; i < 3; i++) { cin >> n[i]; }
                                //接收数据;
                            
                               //冒泡正序排序一波;
                                for (int i = 0; i < 2; i++)
                                {
                                    for (int j = 0; j < 2; j++)
                                    {
                                        if (n[j] > n[j + 1])
                                        {
                                            a = n[j + 1];
                                            n[j + 1] = n[j];
                                            n[j] = a;
                                        }
                                    }
                                }
                            
                                // 经过正序排序的三个整数字,就好判断啦!
                                //连续整数,间隔都是1;
                                (n[0] + 1 == n[1] && n[1] + 1 == n[2]) ? cout << "TRUE" : cout << "FALSE";
                                // 乱七八糟的三目运算;
                                return 0;
                            }
                            

                            向大家承认,这种方法是不行的保证这种方法是可行的。

                            C++萌新娃子, 有错误请指出。 欢迎复制,评论! 记得👍 ! 三克油

                            • @ 2023-8-9 19:47:49

                              看看孩子吧,看看站内消息吧T-Tha!好崩溃

                          • -1
                            @ 2023-6-7 19:44:34

                            #include <bits/stdc++.h> using namespace std; int main() { int a,b,c; cin>>a>>b>>c; if(a-b1) { if(b-c1) { cout<<"TRUE"; } else if(c-a1) { cout<<"TRUE"; } else { cout<<"FALSE"; } } else if(b-a1) { if(a-c1) { cout<<"TRUE"; } else if(c-b1) { cout<<"TRUE"; } else { cout<<"FALSE"; } } else if(a-b2) { if((a+b)/2c) { cout<<"TRUE"; } else { cout<<"FALSE"; } } else if(b-a2) { if((a+b)/2c) { cout<<"TRUE"; } else { cout<<"FALSE"; } } else { cout<<"FALSE"; } return 0; }

                            • -1
                              @ 2023-5-27 16:56:49
                              int a[3],t;
                                  for (int i=0;i<3;i++)
                                  {
                                      cin>>a[i];//输入三个数字
                                  }
                                  for (int i=0;i<2;i++)
                                  {
                                      if (a[i]>a[i+1])
                                      {
                                          t=a[i];//利用中间变量替换先后顺序
                                          a[i]=a[i+1];
                                          a[i+1]=t;
                                      }
                                  }
                              

                              非常简单,弄个数组然后冒泡排序就方便判断力👍 (ps.作者的自测没有问题但是一提交就坏了(恼

                              • -1
                                @ 2023-5-10 21:48:25
                                #include <iostream>
                                using namespace std;
                                int main(){
                                    int a,b,c,n = 0;
                                    cin >>a>>b>>c;
                                    if(a+1==b||a+1==c){
                                        n++;
                                    }
                                    if(c+1==a||c+1==b){
                                        n++;
                                    }
                                    if(b+1==a||b+1==c){
                                        n++;
                                    }
                                    if(a-1==b||a-1==c){
                                        n++;
                                    }
                                    if(c-1==a||c-1==b){
                                        n++;
                                    }
                                    if(b-1==a||b-1==c){
                                        n++;
                                    }
                                    if(n == 4){
                                        cout<<"TRUE";
                                    }
                                    else{
                                        cout<<"FALSE";
                                    }
                                }发一下我的最笨的怨种方法
                                
                                • -1
                                  @ 2023-5-2 21:17:35
                                  #include <iostream>
                                  using namespace std;
                                  int main()
                                  {
                                      int a,b,c;
                                      double x=0;
                                      cin>>a>>b>>c;#定义,输入
                                      x=a+b+c;#求和
                                      x=x/3.0;#求商
                                      if(x==a or x==b or x==c)#看商是否等于其中某个数{
                                          if((a==b and a==c and b==c)or (a%2==0 and b%2==0 and c%2==0)or(a%2==1 and b%2==1 and c%2==1))#看三个数是否相等或都为奇数或都为偶数{
                                              cout<<"FALSE";
                                  
                                          }
                                          else
                                          {cout<<"TRUE ";
                                          }
                                  
                                      }
                                      else{
                                          cout<<"FALSE";
                                      }
                                      return 0;
                                  }
                                  

                                  大概是最简便的了

                                • -1
                                  @ 2023-5-1 15:23:30
                                  #include <iostream>
                                  #include <algorithm>
                                  using namespace std;
                                  int main(){
                                      int a[5];
                                      cin >> a[1] >> a[2] >> a[3];
                                      sort(a,a+5);
                                      if(a[1]+1=a[2] || a[2]+1=a[3]){
                                          cout << "TRUE";
                                          return 0;
                                      }
                                      cout << "FALSE";
                                      return 0;
                                  }
                                  
                                  • -1
                                    @ 2023-4-5 16:49:45

                                    只需要输入三个数,排序后看看是不是连续自然数就可以啦!废话不多说,万能头文件走起!

                                    你们的思路忒复杂,看看这个!史上最短AC!!!

                                    #include <bits/stdc++.h>//万能头文件
                                    using namespace std;
                                    int a[5];//用数组简单点(可以用sort()排序)
                                    int main()
                                    {
                                        for (int i = 1; i <= 3; i++)
                                            cin >> a[i]; //输入
                                        sort(a, a + 3 + 1); //排序
                                        if (a[1] + 1 == a[2] && a[2] + 1 == a[3]) //判断
                                            cout << "TRUE"; //输出
                                        else
                                            cout << "FALSE" ; //输出
                                        return 0;
                                    }
                                    

                                    小盆友们,你们学废了吗?

                                    抄代码好习惯:先点赞,后抱走。

                                    • @ 2023-4-5 16:54:17

                                      求回复

                                    • @ 2023-4-5 16:54:46

                                      求回复

                                    • @ 2023-4-5 17:12:11

                                      有人说我没考虑两个数相等的同情况,可是我代码AC了!不信复制试试!(先点赞,后抱走)

                                    • @ 2023-5-13 18:57:15

                                      这才是最短代码(doge)

                                      #include<bits/stdc++.h>
                                      int a[5];
                                      int main(){for (int i = 1; i <= 3; i++) cin >> a[i];sort(a, a + 3 + 1); 
                                          if (a[1] + 1 == a[2] && a[2] + 1 == a[3])cout << "TRUE";  else cout << "FALSE" ; //输出}
                                      
                                    • @ 2023-5-13 18:57:46

                                      后面那个注释记得拿掉(我忘删了)

                                  • -1
                                    @ 2023-3-19 19:59:48

                                    #include <bits/stdc++.h>//万能头文件 using namespace std; int main() { int a,b,c;//定义 cin>>a>>b>>c;//输入三个数 if (a - 1 == b && b - 1 == c)//暴力算法,费时间,请勿模仿 { cout << "TRUE"; } else if (a - 1 == c && c - 1 == b) { cout << "TRUE"; } else if (b - 1 == a && a - 1 == c) { cout << "TRUE"; } else if (b - 1 == c && c - 1 == a) { cout << "TRUE"; } else if (c - 1 == a && a - 1 == b) { cout << "TRUE"; } else if (c - 1 == b && b - 1 == a) { cout << "TRUE"; } else { cout << "FALSE"; } return 0;//结束 }//请不要把TRUE和FALSE写错,你会疯掉的(不知道哪里出错了) //跟一个人的代码很像,但本人并无抄袭 //一手交赞,一手交货

                                    【入门】判断三个整数是否相邻

                                    信息

                                    ID
                                    36
                                    时间
                                    1000ms
                                    内存
                                    16MiB
                                    难度
                                    6
                                    标签
                                    递交数
                                    10083
                                    已通过
                                    2948
                                    上传者