#include<bits/stdc++.h>
using namespace std;
int n;
char mp[114][114];
int main(){
freopen("titato.in","r",stdin);freopen("titato.out","w",stdout);
cin>>n;
if(n>26){
cout<<"N0";
return 0;
}
for(int i=0;i<n;i++){
cin>>mp[i];
}
for(int i=0;i<n;i++){
bool ltr[26]={0},flag=false;//whether have the same letter
for(int j=0;j<n;j++){
if(ltr[mp[i][j]-'a']==true){
flag=true;
break;
}
ltr[mp[i][j]-'a']=true;
}
if(flag==false){
cout<<"YE5";
return 0;
}
}
for(int i=0;i<n;i++){
bool ltr[26]={0},flag=false;//whether have the same letter
for(int j=0;j<n;j++){
if(ltr[mp[j][i]-'a']==true){
flag=true;
break;
}
ltr[mp[j][i]-'a']=true;
}
if(flag==false){
cout<<"YE5";
return 0;
}
}
cout<<"N0";
return 0;
}
- 很容易想到:
- 如果方阵边长大于26,就一定会有重复的,直接输出“N0”即可
- 有两个坑点:
- 输出的是“N0”“YE5”(嗯零,歪易五)而不是“NO”“YES”(嗯哦,歪易诶斯)
- heart:
- heart:
- heart:
第二题
#include<bits/stdc++.h>
using namespace std;
long long qst;
int main(){
freopen("bricks.in","r",stdin);freopen("bricks.out","w",stdout);
cin>>qst;
while(qst--){
long long a,b,c,d;
cin>>a>>b>>c>>d;
if(b==d){
if(a==c)cout<<"T 1\n";
else cout<<"F 1\n";
continue;
}else{
b++;
if(c>=a-d+b&&c<=a+d-b)cout<<"T ";
else cout<<"F ";
cout<<(d-b+1)*2<<'\n';
}
}
return 0;
}
- (改了好久才改出来的)
- 在考试的时候就想到可以把图画出来,找规律然后O(1)求解
- 其实就是if来if去的
- heart:
- heart:
- heart:
第三题
做法明白力,但是代码打不出来,所以代码就不放出来力
先把完全二叉树用上面的公式转成满二叉树
把叶子节点全部加起来
一直除以二除以二除上去就可以得到根节点的横坐标力 - heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
- heart:
别看了,后面两题我都不会