7 条题解

  • 4
    @ 2023-10-7 21:54:08
    #include <bits/stdc++.h>
    using namespace std;
    string s1,s2;
    int main(){
    	cin>>s1>>s2;
    	int len=s1.length();
    	for (int i=0;i<len;i++){
    		if (s1[i]+s2[i]!=s1[0]+s2[0]){
    			cout<<-1;
    			return 0;
    		}
    	}
    	int ans=s1[0]+s2[0];
    	cout<<ans-194;
    	return 0;
    }//没什么好讲的,上代码 
    
    • 1
      @ 2024-4-5 9:07:05
      #include<bits/stdc++.h>
      using namespace std;
      int main()
      {
          string s1,s2;
          cin >> s1 >> s2;
          int a=s1[0]+s2[0];
          for (int i=0;i<s1.length();i++)
          {
              if (s1[i]+s2[i] != a)
              {
                  cout << "-1";
                  return 0;
              }
          }
          cout << a-194;
          return 0;
      }
      
      • 0
        @ 2021-8-27 10:38:22

        基础的字符串题,这题主要想突出的点是,s[i] 是字符型,数据范围为很小,如果直接使用两个字符型相加可能会超过上限,做字符处理时需要注意,如果可能溢出就要及时转换为其他类型。

            cin >> s1 >> s2;
            bool flag = true;
            for (int i = 1; i < s1.length(); i++)
            {
                if ((int)(s1[i] - 'a') + (int)(s2[i] - 'a') !=
                    (int)(s1[0] - 'a') + (int)(s2[0] - 'a'))
                {
                    flag = false;
                    break;
                }
            }
            if (flag)
                cout << (int)(s1[0] - 'a') + (int)(s2[0] - 'a') << "\n";
            else
                cout << "-1" << endl;
        
        • -3
          @ 2022-8-29 17:44:34

          不想超过上限可以直接在判断时就减掉194

          int x=s1[0]-97+s2[0]-97;
          bool www=0;
          for (int i=1;i<s1.length();i++)
          {
              if (s1[i]-97+s2[i]-97!=x)
              {
                  www=1;
                  break;
              }
          }
          
          • -3
            @ 2022-8-7 21:36:29
            ···
            string s[2];
            int len,ans;
            ···
                cin>>s[0]>>s[1]; // 读入
                len=s[0].length(); // 降低时间复杂度
                ans=s[0][0]+s[1][0]; // 计算和
                for(int i=0;i<len;i++){
                    if(s[0][i]+s[1][i]!=ans){ // 计算是否恒等
                        cout<<"-1"; // 输出-1
                        return 0; // 直接停止程序
                    }
                }
                cout<<ans-194; // 输出恒等值-1
                ···
            
            • -11
              @ 2022-4-24 16:58:13

              写题解请注意

              鼓励大家写题解,但注意题解格式。

              题解一定要有思路解析或代码注释,能否让别人理解你的思路

              也是你的能力的检验,不要只放无意义的代码给大家复制,那就失去了做题的初心。

              给代码两端加上这个会舒服一些

              ```cpp

              你的代码

              ```

              </span>

              这个点在键盘的左上角tab上面那个键,注意切换输入法

              #include<iostream>
              using namespace std;
              int main()
              {
                  int n;
                  cin>>n;//这是一个注释
                  return 0;
              } 
              

              请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。

              抄袭题解一经发现直接取消成绩。

              题解被删除的可能

              1. 代码不符合格式规范
              2. 没有思路讲解或者没有注释,
              3. 无意义的题解

              大家携手共同维护一个良好的编程环境,如果一经发现,多次作乱。可能会被管理员拉黑,请注意,一旦拉黑即失去登陆资格。

              • -11
                @ 2021-8-26 11:14:53

                请注意:不要在 8 月 27 日 10:30 之前发布本题任何形式的题解,否则你的题解可能会被删除!

              • 1

              信息

              ID
              1228
              时间
              1000ms
              内存
              256MiB
              难度
              3
              标签
              递交数
              357
              已通过
              187
              上传者