zoukankan      html  css  js  c++  java
  • UVa-10317

    一个即将高一的网友问的我的题。汗,我怎么大一才接触编程!

    用STL写的,当时UVa挂了,没有去测试。之后发现TLE了,把vector改成数组依然如此。一时没想到怎么解决,先这样吧,以后再看看。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<sstream>
     6 using namespace std;
     7 const int maxx=20;
     8 int main()
     9 {
    10     //freopen("in.txt","r",stdin);
    11     //freopen("out.txt","w",stdout);
    12     string s;
    13     while(getline(cin,s))
    14     {
    15         stringstream ss(s);
    16         int v1[maxx]={};
    17         char v2[maxx]={};
    18         int p1=0,p2=0;
    19         bool flag=0;
    20         int sum=0;
    21         while(1)
    22         {
    23             flag=!flag;
    24             if(flag)
    25             {
    26                 int t;
    27                 ss>>t;
    28                 if(ss.fail()) break;
    29                 v1[p1++]=t;
    30                 sum+=t;
    31             }
    32             else
    33             {
    34                 char t;
    35                 ss>>t;
    36                 if(ss.fail()) break;
    37                 v2[p2++]=t;
    38             }
    39         }
    40         while(1)
    41         {
    42             int num=0;
    43             bool f1=0,f2=0;
    44             int i=0,j=0;
    45             num+=v1[i++];
    46             for(;i<p1;i++,j++)
    47             {
    48                 if(v2[j]=='+') f2=0;
    49                 else f2=1;
    50                 if(v2[j]=='=')
    51                 {
    52                     f1=1;
    53                     f2=0;
    54                 }
    55                 if(f1) f2=!f2;
    56                 if(!f2) num+=v1[i];
    57                 else num-=v1[i];
    58             }
    59             if(num==0)
    60             {
    61                 i=0;
    62                 j=0;
    63                 printf("%d",v1[i++]);
    64                 for(;i<p1;i++,j++)
    65                     printf(" %c %d",v2[j],v1[i]);
    66                 break;
    67             }
    68             else
    69             {
    70                 if(!next_permutation(v1,v1+p1))
    71                 {
    72                     printf("no solution");
    73                     break;
    74                 }
    75             }
    76         }
    77         printf("
    ");
    78     }
    79 }
  • 相关阅读:
    使用DRF视图集时自定义action方法
    DRF视图集的路由设置
    DRF视图集的使用
    DRF最高封装的子类视图
    SQL Stored Procedure and Function
    Struts & Hibernate & Spring
    Java Knowledge series 5
    Android OS Startup
    Java Knowledge series 4
    Refactoring in Coding
  • 原文地址:https://www.cnblogs.com/windrises/p/4655661.html
Copyright © 2011-2022 走看看