???我代码有问题吗???

#include<bits/stdc++.h>

using namespace std;

int main(){

int p=1,t;

cin>>t;

int n[t],m[t];

for(int a=0;a<t;a++){

cin>>n[a]>>m[a];

}

for(int j=0;j<t;j++){

for(int i=1;i<n[j]/2;i++){

if(i%(n[j]-i)==m[j]){

cout<<i<<" "<<n[j]-i<<endl;

p=0;

break;

}

}

if(p==1){

cout<<"-1\n";

}

p=1;

}

return 0;

}

题目

链接:https://ac.nowcoder.com/acm/problem/253632来源:牛客网

链接:https://ac.nowcoder.com/acm/problem/253632链接:https://ac.nowcoder.com/acm/problem/253632

来源:牛客网

题目描述

给出两个整数 n 和 m,请你找出两个整数 a 和 b,并且 a 和 b 需要同时满足以下条件:

a+b=n

a mod b=m

其中,

mod 代表计算两个数相除后的余数,例如

10 mod 3=1,4 mod 2=0

如果找不到合法的 a 和 b,输出 −1

否则请输出你找到的 a 和 b。如果有多个可行的答案,请输出任意一个。

输入描述:

第一行包含一个整数 T表示测试用例的组数。

对于每组测试用例:

仅输入一行,包含两个整数

输出描述:

对于每组测试用例:

仅输出一行。如果找不到合法的

a 和 b,输出 −1

否则请输出两个整数 a 和 b。如果有多个可行的答案,请输出任意一个。

示例1

输入

2

6 2

1 1

输出

2 4

-1

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务