Поделитесь своими знаниями, ответьте на вопрос:
На На завод! У Пети есть X граммов краски, а у Васи — Y граммов краски. Одного грамма краски хватает, чтобы покрасить плитку 1×1. На заводе есть неограниченное количество квадратных плиток любых размеров. Петя выберет максимальную плитку, на которую у него хватит краски. Вася поступит аналогично. Таня работает в плановом отделе, и в её интересах сделать так, чтобы суммарно было потрачено как можно больше краски. Поэтому Таня интересуется: а что если Петя отдаст всю свою краску Васе? Получится ли тогда потратить больше краски или нет? В данной задаче запрещено использовать функцию sqrt, а также операцию возведения в степень. Входные данные В двух строках входных данных содержатся натуральные числа x и y — количество краски у Пети и Васи соответственно. Все числа не превышают 1000. Выходные данные Если выгоднее будет отдать всю краску Васе, то выведите на экран "Petya gives paint to Vasya". Если выгоднее оставить краску у Пети, то выведите на экран "Petya leaves paint to himself". Если расход краски в обоих случаях одинаков, то выведите "Equal". Пояснения к тестам В первом тесте, если Петя оставит краску у себя, то Петя и Вася смогут закрасить по плитке стороной 3 метра и потратить 18 граммов краски. Если же Петя отдаст краску Васе, то Вася закрасит плитку стороной 4 метра и потратит 16 граммов краски. Во втором тесте независимо от стратегии Пети получится потратить 25 граммов краски. В третьем тесте Пете выгоднее отдать краску Васе, в этом случае получится потратить 16 граммов краски (вместо 13 в противном случае Примеры Ввод Вывод 10 10 Petya leaves paint to himself 10 20 Equal 10 7 Petya gives paint to Vasya
#include <iostream>
#include<vector>
using namespace std;
int square(int x){
for (int i = 1; i <= 45; ++i){
if (i * i <= x){
continue;
}
return (i - 1) * (i - 1);
}
}
int main()
{
int x, y, xwas, ywas, xywas;
cin >> x >> y;
xwas = square(x);
ywas = square(y);
xywas = square(x + y);
if (xwas + ywas < xywas){
cout << "Petya gives paint to Vasya";
}
else if (xwas + ywas == xywas){
cout << "Equal";
}
else {
cout << "Petya leaves paint to himself";
}
return 0;
}
Объяснение:
Решение не моё, но вдруг понадобиться)