k360,银狐仓鼠,广东保健中心
题意:这一题比较简单,简单说一下就是给你一个n*m的矩阵,要你去涂色,其中‘b’代表黑色,‘w’代表白色,要求是两者符合这个等式:b=w+1。
题解:简单签到题,但我在比赛的时候用了复杂的方法,所以耗的时间较长,赛后看到别人的解法,真的是醍醐灌顶。
代码:
法一:
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int nk_max = 8 + 5; const int inf = 0x3fffffff; int main() { int t; int n,m; cin>>t; while(t--) { int b,w; cin>>n/*行数*/>>m/*列数*/; int tot=n*m; char ptr[150][150]; if(tot%2==0) { b=tot/2; w=b-1; } else { b=(tot/2)+1; w=tot-b; } //涂色 for(int i=1; i<=n; i++) { for(int j=1; j<=m; j++) { if(i%2!=0&&j%2==0) { ptr[i][j]='w'; } if(i%2!=0&&j%2!=0) { ptr[i][j]='b'; } if(i%2==0&&j%2!=0) { ptr[i][j]='w'; } if(i%2==0&&j%2==0) { ptr[i][j]='b'; } } } // cout<<b<<" "<<w<<"==="<<endl; if(tot%2==0) {//判断奇偶性,如果是偶数的话 if(ptr[n][m]=='b') { ptr[n][m-1]='b'; } else { ptr[n][m]='b'; } } for(int i=1; i<=n; i++) { for(int j=1; j<=m; j++) { cout<<ptr[i][j]; } cout<<endl; } } return 0; }
法二:
这个的思路比较简单,代码也比较简洁;
#include <bits/stdc++.h> using namespace std; signed main() { ios::sync_with_stdio(false); int t,n,m; cin>>t; while(t--) { cin>>n>>m; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(i==1 && j==1) cout<<"w"; else cout<<"b"; } cout<<endl; } } }
转载自:https://www.cnblogs.com/mollnn/p/12664323.htmlb. kind antonb. kind antonb. kind anton
题意:给你两个字符串,其中a只包括-1,0,1;b数组的组成没有限制,先选定i,j,其中i<j,对a数组进行操作,aj=ai+aj,,注意,此时(i<j),现在要你判断a数组是否可以通过变化变化为数组a。
题解:这一题如果靠简单的模拟来做的话,会超时,这里我们用map来记录a中出现的每一个元素出现的次数,之后我们从后往前遍历判断每一个元素,具体实现看代码。
#include<iostream> #include<cstring> #include<algorithm> #include<map> int a[100010]={0}; int b[100010]={0}; using namespace std;; int main(){ int t,n; cin>>t; map<int,int> mp; while(t--){ mp.clear(); scanf("%d",&n); for(int i=1;i<=n;i++){ cin>>a[i]; mp[a[i]]++; } for(int i=1;i<=n;i++){ cin>>b[i]; }//数据输入完毕,下面开始处理数据 int f=1; for(int i=n;i>=1;i--){ mp[a[i]]--; if(a[i]==b[i]){ continue; } if(a[i]<b[i]){ if(!mp[1]){ f=0; break; } } if(a[i]>b[i]){ if(!mp[-1]){ f=0; break; } } } if(f){ cout<<"yes"<<endl; }else{ cout<<"no"<<endl; } } return 0; }
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论