Spoj PTIT PTIT016C – ACM PTIT 2016 C – Chẵn lẻ

Nguồn đề bài: http://www.spoj.com/PTIT/problems/PTIT016C/

1. Đề bài PTIT016C spoj

An rất thích những gì có tính thứ tự nên muốn tìm các số nguyên dương mà chữ số ở vị trí chẵn thì là số chẵn còn chữ số ở vị trí lẻ thì là số lẻ. Hãy giúp An thực hiện công việc trên.

Input

  • Dòng đầu chứa số N là số bộ dữ liệu (1<N<100).
  • N dòng tiếp theo, mỗi dòng chứa một số nguyên dương không quá 200 chữ số.

Output

Với mỗi bộ dữ liệu, ghi ra trên một dòng chữ YES nếu số đó thỏa mãn tính chất mà An yêu cầu; dòng chữ NO nếu ngược lại.

Example

Input:

4
1
4
1234567812345678123456781234987654327890
87654321

Output:

YES
NO
YES
NO

2. Code tham khảo PTIT016C spoj – ACM PTIT 2016

#include <stdio.h>
#include <iostream>
#include <cstring>

using namespace std;
char s[200];
long n;

bool check(char s[])
{
    long i;
    for (i = 0; i < (long)strlen(s); i++)
        if (((i % 2 == 0) && ((s[i] - 48) % 2 == 0)) || ( (i % 2 == 1) && ((s[i] - 48) % 2 == 1)  ) )
            return (false);
    return (true);
}

int main()
{
    cin >> n;
    long i;
    for (i = 1; i <= n; i++)
    {
        cin >> s;
        cout << (check(s) ? "YES" : "NO") << endl;
    }
    return 0;
}

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *