1. 长方形区域
#include<bits/stdc++.h>
using namespace std;
int main(){
int x,y;
int xmin,xmax,ymin,ymax;
cin>>x>>y;
xmin=xmax=x;
ymin=ymax=y;
while(!(x==0&&y==0)){
if(x>xmax){
xmax=x;
}
if(x<xmin){
xmin=x;
}
if(y>ymax){
ymax=y;
}
if(y<ymin){
ymin=y;
}
cin>>x>>y;
}
cout<<"("<<xmin<<","<<ymin<<")"<<endl;
cout<<"("<<xmax<<","<<ymax<<")";
return 0;
}
2.回文串
#include<bits/stdc++.h>
using namespace std;
bool f1(string str,int i,int j){
if(i==j){
return true;
}
if(str[i]==str[j]){
if(i+1<=j-1){
return f1(str,i+1,j-1);
}
return true;
}
return false;
}
bool f2(string str){
stack<int> s;
int length=str.length();
for(int i=0;i<length;++i){
s.push(str[i]);
}
for(int i=0;i<length;++i){
if(str[i]!=s.top()){
return false;
}
s.pop();
}
return true;
}
int main(){
string str;
cin>>str;
if(f2(str)){
cout<<"yes";
}else{
cout<<"no";
}
return 0;
}
3. 逆序对(时间复杂度有待提高)
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int nums[n];
for(int i=0;i<n;++i){
cin>>nums[i];
}
for(int i=0;i<n;++i){
for(int j=i+1;j<n;++j){
if(nums[i]>nums[j]){
cout<<nums[i]<<" "<<nums[j]<<endl;
}
}
}
return 0;
}