Codeforces #406 (Div. 2 A. The Monster&B. Not Afraid (暴力

来源:互联网 发布:怎么让4g网络信号增强 编辑:程序博客网 时间:2024/06/05 01:02

A. The Monster

time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

A monster is chasing after Rick and Morty on another planet. They’re so frightened that sometimes they scream. More accurately, Rick screams at times b, b + a, b + 2a, b + 3a, … and Morty screams at times d, d + c, d + 2c, d + 3c, ….

The Monster will catch them if at any point they scream at the same time, so it wants to know when it will catch them (the first time they scream at the same time) or that they will never scream at the same time.

Input

The first line of input contains two integers a and b (1 ≤ a, b ≤ 100).

The second line contains two integers c and d (1 ≤ c, d ≤ 100).

Output

Print the first time Rick and Morty will scream at the same time, or  - 1 if they will never scream at the same time.

Examples
Input
20 2
9 19
Output
82
Input
2 1
16 12
Output
-1
Note

In the first sample testcase, Rick’s 5th scream and Morty’s 8th time are at time 82.

In the second sample testcase, all Rick’s screams will be at odd times and Morty’s will be at even times, so they will never scream at the same time.

瞎暴力

#include <cstdio>#include <algorithm>using namespace std;#define LL long long#define INF 0x3f3f3f3f#define N 10000int arr[N], brr[N];int main(){    int a, b, c ,d;    scanf("%d%d%d%d",&a,&b,&c,&d);    for(int i = 0;i < N; i++) {        arr[i] = b+ a*i;        brr[i] = d+ c*i;     }       int k;    bool flag = false;    for(int i = 0;i < N; i++) {        for(int j = 0;j < N; j++) {            if(arr[i] == brr[j]) {                flag = true;                k = i;                break;            }        }        if(flag) break;    }    if(flag) printf("%d\n",arr[k]);    else puts("-1");return 0;} 

B. Not Afraid

time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Since the giant heads have appeared in the sky all humanity is in danger, so all Ricks and Mortys from all parallel universes are gathering in groups to find a solution to get rid of them.

There are n parallel universes participating in this event (n Ricks and n Mortys). I. e. each of n universes has one Rick and one Morty. They’re gathering in m groups. Each person can be in many groups and a group can contain an arbitrary number of members.

Ricks and Mortys have registered online in these groups. So, a person can have joined a group more than once (developer of this website hadn’t considered this possibility).

Summer from universe #1 knows that in each parallel universe (including hers) exactly one of Rick and Morty from that universe is a traitor and is loyal, but no one knows which one. She knows that we are doomed if there’s a group such that every member in that group is a traitor (they will plan and destroy the world).

Summer knows that if there’s a possibility that world ends (there’s a group where all members are traitors) she should immediately cancel this event. So she wants to know if she should cancel the event. You have to tell her yes if and only if there’s at least one scenario (among all 2n possible scenarios, 2 possible scenarios for who a traitor in each universe) such that in that scenario the world will end.

Input

The first line of input contains two integers n and m (1 ≤ n, m ≤ 104) — number of universes and number of groups respectively.

The next m lines contain the information about the groups. i-th of them first contains an integer k (number of times someone joined i-th group, k > 0) followed by k integers vi, 1, vi, 2, …, vi, k. If vi, j is negative, it means that Rick from universe number  - vi, j has joined this group and otherwise it means that Morty from universe number vi, j has joined it.

Sum of k for all groups does not exceed 104.

Output

In a single line print the answer to Summer’s question. Print “YES” if she should cancel the event and “NO” otherwise.

Examples
Input
4 2
1 -3
4 -2 3 2 -3
Output
YES
Input
5 2
5 3 -2 1 -1 5
3 -5 2 5
Output
NO
Input
7 2
3 -1 6 7
7 -5 4 2 4 7 -3 4
Output
YES
Note

In the first sample testcase, 1st group only contains the Rick from universe number 3, so in case he’s a traitor, then all members of this group are traitors and so Summer should cancel the event.

瞎暴力

#include <cstdio>#include <algorithm>using namespace std;#define LL long long#define INF 0x3f3f3f3f#define N 10000int arr[N];int main(){    int n, m;    scanf("%d%d",&n,&m);    int ans = m;    int z = 0;    while(m--) {        bool flag = false;        int k;        scanf("%d",&k);        for(int i = 0;i < k; i++) {            scanf("%d",&arr[i]);        }        for(int i = 0;i < k; i++) {            for(int j = 0;j < k; j++) {                if(arr[i]==-arr[j]) {                    flag = true;                    break;                }            }            if(flag) break;        }        if(flag) {            z++;;            flag = false;        }    }    if(z==ans) puts("NO");    else puts("YES");return 0;} 
0 1