奇偶数
最强大脑
这题跟《压缩技术-续集版》有点像,都是判断是否跟前面一样。
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
int a[n+1];
for(int i=1;i<=n;i++){
cin>>a[i];
}
int t=a[1];
int sum=0,maxn=-1;
for(int i=1;i<=n;i++){
if(a[i]==t){
sum++;
if(sum>maxn){
maxn=sum;
}
}else{
t=a[i];
sum=1;
}
}
cout<<maxn;
return 0;
}
三角形问题
这题目不能把所有数存进数组,而是穷举到k或(x,y)
这题的规律是,一般状态下:
i++,j--;
如果j==1:
i=1,j=t+1(t=原来的j)
#include<iostream>
using namespace std;
int main(){
int o,x,y;
cin>>o;
if(o==1){
cin>>x;
int i=1,t=1,k=1,j=1;
while(1){
if(k==x){
cout<<i<<" "<<j;
return 0;
}
k++;
if(j==1){
i=1;
j=t+1;
t++;
}else{
i++;
j--;
}
}
}else if(o==2){
cin>>x>>y;
int i=1,t=1,k=1,j=1;
while(1){
if(i==x&&j==y){
cout<<k;
return 0;
}
k++;
if(j==1){
i=1;
j=t+1;
t++;
}else{
i++;
j--;
}
}
}
return 0;
}