T1 井字棋
只是一道非常“有意思的”题目哈~原本是直接先在输入时就对本行进行判断是否可以结束游戏,然后将竖列的数据储存在横向的数组中,然后再进行判断。但很显然,没特判n>26,所以超时,60分。
附改后代码:
#include<bits/stdc++.h>
using namespace std;
int n,i,j;
char x;
char a[1030][1030];
int js[10101]={0};
int main(){
freopen("titato.in","r",stdin);
freopen("titato.out","w",stdout);
cin>>n;
if (n>26){
cout<<"N0"<<endl;
return 0;
}
bool q=false;
for (i=1;i<=n;i++){
bool p=false;
memset(js,0,sizeof(js));
for (j=1;j<=n;j++){
cin>>x;
js[x-'a'+1]++;
if (js[x-'a'+1]>1){
p=true;
}
a[j][i]=x;
}
if (p==false){
q=true;
}
}
if (q==true){
cout<<"YE5"<<endl;
return 0;
}
q=false;
for (i=1;i<=n;i++){
bool p=false;
memset(js,0,sizeof(js));
for (j=1;j<=n;j++){
js[a[i][j]-'a'+1]++;
if (js[a[i][j]-'a'+1]>1){
p=true;
}
}
if (p==false){
q=true;
}
}
if (q==true){
cout<<"YE5"<<endl;
}else{
cout<<"N0"<<endl;
}
}
T2 校门前的地砖
通过画图及模拟可得,能走到的范围类似于一个“带绝对值的函数”,但好像判断语句有一些细节没看见,只得勒0分。
T3 完全二叉树
正解递归即可,但没写。哈哈。而且推起来也有点复杂的呢~
T4 变速带
标准dp,但我一开始认为是dfs,后来觉得怪怪的,没打。
T5 靶场
算起来像一次函数,但我写起来严重超时,所以最后也没写。
总结
还行吧。
又及
可爱的frc竟没有回收我的代码!!!