2013-java-A-省赛-4-颠倒的价牌
结果
9088
代码
import java.util.Vector;
public class Main {
static class price{
int p;//原价
int rp;//现价-原价
public price(int p, int rp) {
super();
this.p = p;
this.rp = rp;
}
}
static Vector<price> p200=new Vector<>();
static Vector<price> p800=new Vector<>();
static int[] a= {0,1,2,0,0,5,9,0,8,6};
static int n=7;
static int m=4;
public static void main(String[] args) {
int a,b,aa,bb;
for (int i = 1000; i < 10000; i++) {
int ri=diverse(i);
if(ri==-1)continue;
if(ri-i<-200 && ri-i>-300) {//赔钱
p200.add(new price(i, ri-i));
}else if (ri-i<900 && ri-i>800) {//赚钱
p800.add(new price(i, ri-i));
}
}
for (int i = 0; i < p200.size(); i++) {
for (int j = 0; j < p800.size(); j++) {
if(p200.get(i).rp+p800.get(j).rp==558) {
System.out.println(p200.get(i).p+" "+p800.get(j).p);
}
}
}
}
private static int diverse(int k) {
int t=0;
int x=1000;
for (int i = 0; i < 4; i++) {
if (k%10==3||k%10==4||k%10==7) {
return -1;
}
t=t*10+a[k%10];
k/=10;
}
if(t<1000)return -1;
return t;
}
}