1.今日完成题目 题目一 题意:从(1,1)能否走到终点(2,n) 题解:若同一列中全为‘1’,则绝对不可能走到终点,因为图只有两行 查看代码 #includecstdio#includecstring#includeiostream#incl
1.今日完成题目
题目一
题意:从(1,1)能否走到终点(2,n)
题解:若同一列中全为‘1’,则绝对不可能走到终点,因为图只有两行
查看代码
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#include<map>
#include<set>
#include<vector>
#include<cmath>
using namespace std;
#define maxn 100020
#define inf 1e8
char maps[2][200];
int t,num;
int main()
{
std::ios::sync_with_stdio(false);
std::cin.tie(0);
cin>>t;
for(int z=0;z<t;z++)
{
int n;
cin>>n;
num=0;
for(int i=0;i<n;i++)
maps[0][i]=maps[1][i]='0';
for(int i=0;i<2;i++)
{
for(int j=0;j<n;j++)
{
cin>>maps[i][j];
}
}
// cout<<maps[0][1];
int flag=1;
for(int j=0;j<n;j++)
{
// cout<<"!!"<<endl;
if(maps[0][j]=='1'&&maps[1][j]=='1')
{
cout<<"NO"<<endl;
flag=0;
break;
}
}
if(flag){
cout<<"YES"<<endl;
}
// cout<<n<<endl;
}
return 0;
}
题目二
题意:是否可以把分成两组人数相同的同学分别集中安排到不同的week day(chose from Monday to Frinday)上课
题解:暴力统计是否存在两列数据中方便上课的同学数>=总人数的一半并且满足这两列数据中所有同学都可以来上课
查看代码
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#include<map>
#include<set>
#include<vector>
#include<cmath>
using namespace std;
#define maxn 100020
#define rep(i,l,r) for(register int i = l ; i <= r ; i++)
#define repd(i,r,l) for(register int i = r ; i >= l ; i--)
#define inf 1e8
const int N=1e3+10;
int maps[N][6],num[6];
vector<int> vis[6];
set<int>s;
void mergep(int x,int y)
{
for(int i=0;i<vis[x].size();i++) s.insert(vis[x][i]);
for(int i=0;i<vis[y].size();i++) s.insert(vis[y][i]);
}
int main()
{
std::ios::sync_with_stdio(false);
std::cin.tie(0);
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
memset(maps,0,sizeof(maps));
memset(num,0,sizeof(num));
memset(vis,0,sizeof(vis));
rep(i,1,n) rep(j,1,5) {
cin>>maps[i][j];
if(maps[i][j]) num[j]++,vis[j].push_back(i);
}
int flag=0;
for(int i=1;i<=4;i++) {
for(int j=i+1;j<=5;j++){
s.clear();
mergep(i,j);
if(num[i]>=(n>>1)&&num[j]>=(n>>1)&&s.size()==n)
{
flag=1;
cout<<"YES"<<endl;
break;
}
}
if(flag) break;
}
if(!flag)
cout<<"NO"<<endl;
}
return 0;
}
2.总结部分
one.今天的第一题因为数据的类型用错,导致我多用了很长时间来debug,所以今后写的时候要考虑好该用什么数据类型,debug时也优先看看这些细节的地方(数据类型,数据范围等)
two.今天看完一位兄弟的博文后深有感触——谁都不是神,看一遍就会,做一道就会举一反三。靠的是不断地复习巩固,不断地反思。因此,我决定以后每天都更新一下博文来总结今天的学习内容,同时以后每周也会刻意的去复习已经学过的知识。
最后,不要茫然,选好了路边便风雨兼程走下去,加油,加油,加油!!!