#include <bits/stdc++.h>
using namespace std;
const int N=1e4;
int A[N],W[N],num[10]={0,1,2,-1,-1,5,9,-1,8,6};
int change(int x){
int a=x%10;x/=10;
int b=x%10;x/=10;
int c=x%10;x/=10;
int d=x%10;x/=10;
a=num[a];if(a==-1)return -1;
b=num[b];if(b==-1)return -1;
c=num[c];if(c==-1)return -1;
d=num[d];if(d==-1)return -1;
int ans=a*1000+b*100+c*10+d;
if(ans<1000)return -1;
return ans;
}
bool check(int i,int j){
if(W[i]+W[j]!=558)return false;
if(W[i]>0)swap(i,j);
int a=abs(W[i]),b=W[j];
if(a>200&&a<300&&b>800&&b<900)return true;
return false;
}
int main(){
for(int i=1000;i<N;i++){
A[i]=change(i);
if(A[i]!=-1)
W[i]=A[i]-i;
}
for(int i=1000;i<N;i++)
for(int j=i+1;j<N;j++)
if(check(i,j)){
cout<<j<<endl;
return 0;//cout<<i<<" "<<j<<endl;
}
}
13省Ca4-颠倒的价牌,数组
最新推荐文章于 2022-10-09 22:03:03 发布
该程序旨在找出13省Ca4中价格标签颠倒的情况。通过定义数字转换函数change,将四位数转换为特定规则的四位数,并计算两者之差作为价差。然后检查两个商品的价格是否满足特定条件(如价差为558且价格在特定范围内)。程序遍历所有可能的组合,输出满足条件的商品编号。这涉及到数值逻辑、条件判断及数组操作等概念。
摘要由CSDN通过智能技术生成