题目大意:判断一个字符串有没有下一个字典串
解题思路:从后往前判断,找到符合当前字符大小小于下一个字符大小的字符,找到该字符,然后再从该字符往后遍历,找到一个大于它的字符最小字符进行替换,然后再把后面的按升序排列
#include<cstdio>
struct code{
int x;
int y;
};
int main() {
int N, test,a,b,mark,num;
code p[1000];
while(scanf("%d", &N) && N) {
for(int i = 0; i < 2 *N ;i++) {
scanf("%d %d",&(p[i].x), &(p[i].y));
}
mark = 0;
for( a = -500; a <= 500; a++) {
for( b = -500; b <= 500; b++) {
if(a == 0 && b == 0)
continue;
num = 0;
for(int i = 0; i < 2 *N; i++) {
if((a*p[i].x) + (b * p[i].y) > 0) num++;
if((a*p[i].x) + (b * p[i].y) == 0) {
num = 0;
break;
}
}
if(num == N) {
mark = 1;
break;
}
}
if(mark)
break;
}
printf("%d %d\n", a,b);
}
return 0;
}