???我代码有问题吗???
#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