第一题
201409-1 相邻数对
#include <bits/stdc++.h>
using namespace std;
int num[1000];
int main()
{
int n;
cin>>n;
int ans=0;
for(int i=0;i<n;i++) {
cin>>num[i];
for(int j=0;j<i;j++){
if(abs(num[j]-num[i])==1) ans++;
}
}
cout<<ans;
return 0;
}
第二题
201409-2 画图
这一题我还想容斥定理的,但是针对这题有更简单的方法。
#include <bits/stdc++.h>
using namespace std;
int board[101][101]={};
int main()
{
int n;
cin>>n;
int x1,y1,x2,y2;
int x=0,y=0;
for(int i=0;i<n;i++){
cin>>x1>>y1>>x2>>y2;
x=x2>x?x2:x;
y=y2>y?y2:y;
for(int j=x1;j<x2;j++){
for(int k=y1;k<y2;k++){
board[j][k]=1;
}
}
}
int ans=0;
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
if(board[i][j]==1) ans++;
}
}
cout<<ans;
return 0;
}