import java.util.Scanner;
public class Main {
public static void main(String[] arg) {
Scanner scanner = new Scanner(System.in);
// todo
}
}
NC248195. 再交换
描述
输入描述
每一个测试点包含多组测试数据,第一行输入一个正整数,表示该测试点测试数据的数量。
对于每组测试数据:
第一行输入一个正整数。
第二行输入一个位正整数
。
第三行输入一个位正整数
。
对于每个测试点的多组测试数据,保证。
输出描述
对于每组测试数据,一行输出两个正整数,以空格相隔,表示答案。若有多组解,输出任一组即可。
示例1
输入:
2 3 156 123 3 111 110
输出:
2 1 3 3
说明:
对于第一组测试数据,交换后C++(clang++ 11.0.1) 解法, 执行用时: 148ms, 内存消耗: 956K, 提交时间: 2023-02-11 18:27:12
#include<bits/stdc++.h>using namespace std;int main(){int t;cin>>t;while(t--){string a,b;int n;cin>>n>>a>>b;if(a<b) {if(a[0]!=b[0]) cout<<2<<" "<<2<<endl;else cout<<1<<" "<<1<<endl;}else{for(int i=0;i<n;i++){if(a[i]!=b[i]) {cout<<i+1<<" "<<i+1<<endl;break;}}}}}
pypy3 解法, 执行用时: 692ms, 内存消耗: 28080K, 提交时间: 2023-02-19 19:00:14
for _ in range(int(input())):n = int(input())l1 = input()l2 = input()if l1 < l2:print('1 1' if l1[0] == l2[0] else '2 2')else:for i in range(n):if l1[i] != l2[i]:print(i+1, i+1)break
Python3 解法, 执行用时: 1366ms, 内存消耗: 5708K, 提交时间: 2023-02-10 21:23:28
t=input()t=int(t)while t>0:n=input()n=int(n)a=input()b=input()for i in range(n):c=a[:i]+b[i]+a[i+1:]d=b[:i]+a[i]+b[i+1:]if c<d:print(i+1,i+1)breakt=t-1