codeforces gym 100645A

来源:互联网 发布:怎么才能加入淘宝 编辑:程序博客网 时间:2024/05/18 03:15

将以前写过的一些程序搬运一下。
codeforces挂了,只能看到我的代码,不要怪我。


AC代码

////  main.cpp//  A.a.c////  Created by zhangdenny on 16/5/22.//  Copyright (c) 2016年 Kirito. All rights reserved.//#include  <functional>#include  <algorithm>#include  <exception>#include  <stdexcept>#include  <streambuf>#include  <iterator>#include  <string.h>#include  <stdlib.h>#include  <typeinfo>#include  <valarray>#include  <iostream>#include  <sstream>#include  <istream>#include  <stdio.h>#include  <climits>#include  <clocale>#include  <complex>#include  <csetjmp>#include  <csignal>#include  <cstdarg>#include  <cstddef>#include  <ctype.h>#include  <cassert>#include  <cstdlib>#include  <utility>#include  <cstring>#include  <numeric>#include  <ostream>#include  <cwctype>#include  <fstream>#include  <iomanip>#include  <math.h>#include  <bitset>#include  <cctype>#include  <string>#include  <vector>#include  <limits>#include  <locale>#include  <memory>#include  <cerrno>#include  <iosfwd>#include  <cfloat>#include  <cstdio>#include  <cwchar>#include  <cmath>#include  <ctime>#include  <deque>#include  <queue>#include  <stack>#include  <list>#include  <ios>#include  <map>#include  <set>#include  <new>#define fi first#define se second#define np next_permutation#define ll long longusing namespace std;bool used[5];set<int> ans;void dfs(int lft,int a[]){    if(lft==1)    {        for(int i=0;i<4;i++)        {            if(!used[i])                ans.insert(a[i]);        }    }    else    {        for(int i=0;i<4;i++)            if(!used[i])            {                for(int j=0;j<4;j++)                    if(!used[j] && i!=j)                    {                        int old=a[i];                        used[j]=true;                        a[i]=old+a[j];                        dfs(lft-1,a);                        a[i]=old-a[j];                        dfs(lft-1,a);                        a[i]=old*a[j];                        dfs(lft-1,a);                        if(a[j]!=0 && old%a[j]==0)                            a[i]=old/a[j];                        dfs(lft-1,a);                        a[i]=old;                        used[j]=false;                    }            }    }}int main(){    int testc=0;    while(true)    {        testc++;        int a,b,c,d;        cin>>a>>b>>c>>d;        if(a==0 && b==0 && c==0 && d==0)            return 0;        ans.clear();        int e[5];        e[0]=a;        e[1]=b;        e[2]=c;        e[3]=d;        dfs(4,e);        int sum=0,mx=-1e9,ans1=0,ans2=0;        for(set<int>::iterator it=ans.begin();it!=ans.end();it++)        {            if(mx+1!=*it)            {                if(sum>=ans2)                {                    ans2=sum;                    ans1=mx-sum+1;                }                sum=1;                mx=*it;            }            else            {                mx++;                sum++;            }        }        if(sum>=ans2)        {            ans2=sum;            ans1=mx-sum+1;        }        int ans3=ans1+ans2-1;        cout<<"Case "<<testc<<": "<<ans1<<" to "<<ans3<<endl;    }    return 0;}
0 0
原创粉丝点击