|
Sva pitanja, predloge ili primedbe u vezi sa takmičenjima iz programiranja
možete slati na e-mail:
tak.prog@gmail.com
U toku perioda za žalbe, sve žalbe možete slati na ovaj isti e-mail.
|
logo by Igor Antolović
|
|
|
zadatak: Operacija
|
Data su četiri broja A, B, C i op. Vrednost op ima sledeće značenje:
- op = 1 označava sabiranje,
- op = 2 označava oduzimanje,
- op = 3 označava množenje,
- op = 4 označava deljenje.
Za date ulazne vrednosti ispisati 1 ako A op B = C, inače ispisati 0.
Ulaz.
(Ulazni podaci se učitavaju sa standardnog ulaza.)
U prvom redu standardnog ulaza nalaze se prirodni brojevi A, B,
C i op (0 ≤ A, B, C ≤ 10,000,000,000, 1 ≤ op ≤ 4).
Izlaz.
(Izlazne podatke ispisati na standardan izlaz.)
U prvi i jedini red standardnog izlaza ispisati traženu vrednost.
Ograničenja.
U bar 50% test primera će op imati vrednost 1 ili 2.
60% test primera će imati vrednost A, B i C iz intervala [0, 100].
Primer 1.
standardni ulaz
|
|
standardni izlaz
|
1 2 3 1
|
|
1
|
Objašnjenje.
Izraz 1 + 2 = 3 je tačan, te je izlaz 1.
Primer 2.
standardni ulaz
|
|
standardni izlaz
|
2 1 2 4
|
|
1
|
Primer 3.
standardni ulaz
|
|
standardni izlaz
|
3 2 1 4
|
|
0
|
Objašnjenje.
3 / 2 = 1.5, te je izraz 3 / 2 = 1 netačan.
Primer 4.
standardni ulaz
|
|
standardni izlaz
|
4 5 21 3
|
|
0
|
Objašnjenje.
4 * 5 = 20.
Primer 5.
standardni ulaz
|
|
standardni izlaz
|
55 5 50 2
|
|
1
|
|
|
fajl: operacija.cpp
|
#include <iostream>
#include <cstdio>
#include <fstream>
#include <vector>
#include <cmath>
#define ffor(_a,_f,_t) for(int _a=(_f),__t=(_t);_a<__t;_a++)
#define all(_v) (_v).begin() , (_v).end()
#define sz size()
#define pb push_back
#define SET(__set, val) memset(__set, val, sizeof(__set))
#define FOR(__i, __n) ffor (__i, 0, __n)
using namespace std;
const int MAXN = 100001;
int a[MAXN];
char str[MAXN + 10];
int main(){
long long A, B, C;
int op;
scanf("%lld %lld %lld %d", &A, &B, &C, &op);
bool good = false;
if (op == 1){
if (A + B == C)
good = true;
}
else if (op == 2){
if (A - B == C)
good = true;
}
else if (op == 3){
if (B == 0 && C == 0)
good = true;
if (B != 0){
op = 4;
swap(A, C); // turn the problem into div
}
}
if (op == 4){
if (B != 0 && A % B == 0 && A / B == C)
good = true;
}
if (good)
printf("1\n");
else
printf("0\n");
return 0;
}
|
|
|