D首先看到这题通过手推会发现所有的点都能成立,因为如果XY相同等式一定成立,XY不同时X|Y==1那么|X-Y|就会少1直到xy相等;

#include <bits/stdc++.h>
#define  int long long
#define IOS ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
const int maxn=2e5+50;
const int INF=0x3f3f3f3f;
using namespace std;
signed main(){
  IOS;
  int t;
  cin>>t;
  while(t--){
    int ans=0;
    int x1,y1,x2,y2;
    cin>>x1>>y1>>x2>>y2;
    for(int i=x1;i<=x2;i++){
        for(int j=y1;j<=y2;j++){
            ans++;
        }
    }
    cout<<ans<<'\n';
  }
 return 0;
}

G:比赛时一直纠结好久0^n是不是没有意义,0^0==1那么输入0 n得出的结果是0 还是-1;所以这题没写出来...
其实因该是-1...
后来补题的

 while(t--){
    int n,m;cin>>n>>m;
     if(n==0||m==0||n==1)cout<<-1<<'\n';
    else {
        unsigned long long ans=1;
        int k=0;
        while(m>=n){
            m/=n;k++;
          }
          cout<<k<<'\n';
      }

H:对称之美,我纯暴力模拟写的。。无论奇数还是偶数行前n/2行和后n/2行扫一遍,然后看是不是能有n/2次找到相同的字母,需要注意的是(记得break)每两行找到一个就够了

#include <bits/stdc++.h>
#define  int long long
#define IOS ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
const int maxn=1e5+50;
const int INF=0x3f3f3f3f;
using namespace std;
char a[105][55];
int b[505][505];
signed main(){
     int t;cin>>t;
     while(t--){
         int n;
         cin>>n;
         for(int i=0;i<n;i++){
             cin>>a[i];
         }
         int ans=0;
        for(int i=0;i<n/2;i++){
            int flag=0;
            for(int j=0;j<a[i][j]!='\0';j++){
                for(int k=0;a[n-1-i][k]!='\0';k++){
                    if(a[i][j]==a[n-1-i][k]){ans++;flag=1;break;
                    }
                }
                if(flag==1)break;
            }
        }
    //    cout<<ans;
        if(ans==n/2)cout<<"Yes"<<'\n';
        else cout<<"No"<<'\n';
     }
 return 0;
}

I非对称之美:这个算是思维题吧如果是回文字符串就比字符长度少1,如果不是就输出字符长度,特殊考虑一下整个字符串就一种字符的比如aaaaa

#include <bits/stdc++.h>
#define  int long long
#define IOS ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
const int maxn=1e5+50;
const int INF=0x3f3f3f3f;
using namespace std;
int a[26]={0};
int b[505][505];
signed main(){
     string s;
     cin>>s;
     string s1="";
     for(int i=0;i<s.size();i++){
         a[s[i]-'a']++;

     }
     int l=0; int m=s.size();
     for(int i=m-1;i>=0;i--){
         s1+=s[i];
     }

     int flag=-1;
     for(int i=0;i<26;i++){
         if(a[i]==m)flag=1;
     //    cout<<a[i]<<" ";
     }
    // cout<<s<<" "<<s1<<'\n';
     if(flag==1)cout<<0<<'\n';
     else {
         if(s==s1)cout<<m-1<<'\n';
         else cout<<m<<'\n';
     }
 return 0;
}