CF1684A题解

将问题分为两类:位数等于\(2\)或不等于\(2\)

如果位数等于\(2\),那么Alice只能交换两个数位,Bob将后一个删掉。最后留下初始的第二位。

如果位数不等于\(2\),那么Alice先将最小值移到第二位,随后在不动最小值的情况下随意操作。剩两位时再将最小值移到第一位。最后留下最小值。

代码如下:

#include<bits/stdc++.h>
using namespace std;
int T,n,ans;
int main(){
	scanf("%d",&T);
	while(T--){
		scanf("%d",&n);ans=10;
		if(n>9&&n<100)printf("%d\n",n%10);
		else{
			for(;n;n/=10)ans=min(ans,n%10);
			printf("%d\n",ans);
		}
	}
	return 0;
}
posted @ 2022-05-24 13:01  Andy__Lin  阅读(52)  评论(0)    收藏  举报