George has recently entered the BSUCP (Berland State University for Cool Programmers). George has a friend Alex who has also entered the university. Now they are moving into a dormitory.
George and Alex want to live in the same room. The dormitory has n rooms in total. At the moment the i-th room has pi people living in it and the room can accommodate qi people in total (pi ≤ qi). Your task is to count how many rooms has free place for both George and Alex.
The first line contains a single integer n (1 ≤ n ≤ 100) — the number of rooms.
The i-th of the next n lines contains two integers pi and qi (0 ≤ pi ≤ qi ≤ 100) — the number of people who already live in the i-th room and the room's capacity.
Print a single integer — the number of rooms where George and Alex can move in.
题目简单易懂
不过尝试了下用vector pair做,还行
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int n,p,q;
pair<int,int>LIM;
vector<pair<int,int> >ROOM;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>p>>q;
LIM=make_pair(p,q);
ROOM.push_back(LIM);
}
vector<pair<int,int> >::iterator iter;
int count=0;
for(iter=ROOM.begin();iter!=ROOM.end();iter++)
{
if(iter->second-iter->first>=2)count++;
}
cout<<count<<endl;
return 0;
}
访问vector还要用迭代器,不知道是不是编译器的原因我的编译器只能使用->访问pair的元素
A. George and Accommodation