欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

2

程序员文章站 2022-07-15 11:17:57
...

George and Accommodation
Problem Description: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 hasnrooms in total. At the moment thei-th room haspipeople living in it and the room can accommodateqipeople in total (pi≤qi). Your task is to count how many rooms has free place for both George and Alex.
Input:The first line contains a single integern(1 ≤n≤ 100)— the number of rooms.
Thei-th of the nextnlines contains two integerspiandqi(0 ≤pi≤qi≤ 100)— the number of people who already live in thei-th room and the room’s capacity.
Output:Print a single integer — the number of rooms where George and Alex can move in.
Examples
Input
3
1 1
2 2
3 3
Output
0
Input
3
1 10
0 10
10 10
Output
2
问题链接:https://vjudge.net/problem/CodeForces-467A
问题简述:输入总宿舍数量,输入宿舍已有人数和宿舍总可居住人数,判断剩余可居住人数是否大于2
问题分析:利用二维数组存储数据,判断数据之差是否大于2,循环总数量次,求出可选房间数总和。
AC通过的C++语言程序如下:

#include <iostream>
using namespace std;
int main()
{
    int num;
    cin >> num;
    int **p = new int*[num];
    for (int i = 0; i < num; i++)
    {
        p[i] = new int[2];
    }//相当于声明了一个p[mun][2]二维数组
    int a = 0, b = 0;
    int sl;
    while (cin >> sl)
    {
        p[a][b] = sl;
        b++;
        if (b == 2)
        {
            b = 0;
            a++;
        }
        if (a == num)
            break;
    }
    int fj = 0;
    for (int i = 0; i < num; i++)
    {
        if (p[i][1] - p[i][0] >= 2)
        {
            fj++;
        }
    }
    cout << fj;
}