zoukankan      html  css  js  c++  java
  • LQB2013A04倒置的标签

     这个题,一开始犯了一个很幼稚的错误

    贴贴代码

    #include<iostream>
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    #include <strings.h>
    #include <queue>
    #include <set>
    #include <cstring>
    #include<vector>
    using namespace std;
    int a[10]={1,2,5,6,8,9,0};//0~6
    vector<int>  v1;
    vector<int> v2;
    int main(){
        int q;
        int b;
        for (int i = 0; i < 6; ++i) {
            for (int j = 0; j < 7; ++j) {
                for (int k = 0; k < 7; ++k) {
                    for (int l = 0; l < 6; ++l) {
                        q=a[i]*1000+a[j]*100+a[k]*10+a[l]-a[l]*1000-a[k]*100-a[j]*10-a[i];
                        if(q<300 && q>200) {
                            cout<<a[i]<<a[j]<<a[k]<<a[l]<<" "<<q<<endl;
                            v1.push_back(q);
                        }
    
                    }
                }
            }
    
        }
        cout<<"an";
        for (int i = 0; i < 6; ++i) {
            for (int j = 0; j < 7; ++j) {
                for (int k = 0; k < 7; ++k) {
                    for (int l = 0; l < 6; ++l) {
                        b=a[i]*1000+a[j]*100+a[k]*10+a[l]-a[l]*1000-a[k]*100-a[j]*10-a[i];
                        if(b<900 && b>800){
                            cout<<a[i]<<a[j]<<a[k]<<a[l]<<" "<<b<<endl;
                            v2.push_back(b);
                        }
    
    
                    }
                }
            }
    
        }
        vector<int>::iterator it;
        vector<int>::iterator m;
        for(it=v1.begin();it!=v1.end();it++)
            cout<<*it<<" ";
        cout<<endl;
        for ( m = v2.begin(); m != v2.end(); ++m)
            cout<<*m<<" ";
    
    
    }

    ,,,,我忽略了有的数,倒过来就不是它了,,,比如6和9

    就死在这里了呜呜呜

    //这个题我一开始以为挺简单的,后来,,
    //
    // Created by snnnow on 2020/7/15.
    //
    //要注意一一下你存储数据,用vector存,直接存一个结构体就好
    #include<iostream>
    #include <sstream>
    #include <string.h>
    #include <vector>
    using namespace std;
    struct price{
        int a,b,c;
    };//用的时候直接price p={1,2,3}就可以
    vector<price> v1;
    vector<price> v2;
    char to(char c){
        if(c=='1')
            return '1';
        if(c=='2')
            return '2';
        if(c=='5')
            return '5';
        if(c=='6')
            return '9';
        if(c=='8')
            return '8';
        if(c=='9')
            return '6';
        if(c=='0')
            return '0';
    }
    
    void i2s(int i, string &str){//一定要注意是引用
        stringstream ss;
        ss<<i;
        ss>>str;
    
    }
    void s2i(string &str,int &i){
        stringstream ss;
        ss<<str;
        ss>>i;
    }
    string reverse(const string &str){//不要忘记加引用
        string ans;
        for (int i = 3; i >=0 ; --i) {
            ans.insert(ans.end(),to(str[i]));//string中的insert函数
    
        }
        return ans;
    
    }
    
    
    int main(){
    
    
        for (int i = 1000; i < 10000; ++i) {
            //cout<<i<<endl;
            //先转字符串
            string str;
            string rstr;
            i2s(i,str);
            //cout<<str<<endl;
            if(str.find('3')!=string::npos || str.find('4')!=string::npos || str.find('7')!=string::npos ||str.rfind('0')==3)
                continue;
            rstr=reverse(str);
    
            int r;
    
            s2i(rstr,r);//r是反转后的价格
            int plus=r-i;
            //cout<<r<<" "<<i<<" "<<plus<<endl;
            if(plus>-300 && plus<-200){
                price p1={i,r,plus};
                v1.push_back(p1);
            }else if(plus>800 && plus<900){
                price p2={i,r,plus};
                v2.push_back(p2);
            }
    
        }
    //    for (int k = 0; k < v1.size(); ++k) {
    //        cout<<v1[k].c<<" ";
    //
    //    }
    //    for (int k = 0; k < v2.size(); ++k) {
    //        cout<<v2[k].c<<" ";
    //
    //    }
    
        //vector遍历不必需要迭代器!!!!
        for (int j = 0; j < v1.size(); ++j) {
            for (int i = 0; i < v2.size(); ++i) {
                if(v1[j].c+v2[i].c==558){
                    cout<<v1[j].a<<" ";
                }
    
            }
    
        }
    
    
    
    }
  • 相关阅读:
    C# Winform 使用Quartz
    C# datagridview显示行号
    C#时间格式问题解决,不受系统时间格式影响
    PLSQL永久激活
    C#内存回收
    Modbus的通信参数存在flash中,如果改乱了,该怎么办--FreeModbus从站设计(12)
    如何把Modbus的通信参数存在单片机的flash中--FreeModbus从站设计(11)
    为什么有的PLC需要上电停止功能,能防止PLC变砖(可编程控制器 串口通信)
    让串口和Modbus初始化的参数同步起来-STM32F103、FreeModbus从站设计(6)
    STM32F103、FreeModbus从站设计(5)-如何将FreeModbus代码加入keil工程
  • 原文地址:https://www.cnblogs.com/zhmlzhml/p/13302955.html
Copyright © 2011-2022 走看看