Codeforces Round #485 (Div. 2) ABCDE

A문제.Infinity Gauntlet A. Infinity Gauntlet은 6개의 문자열 중 나타나지 않은 문자열을 구하는 것을 뜻하며, 마음대로 쓰십시오 A 코드.
#include
#include
#include
#include
using namespace std;
string str[6]={"purple","green","blue","orange","red","yellow"};
string str2[6]={"Power","Time","Space","Soul","Reality","Mind"};
set s;
int main()
{
    ios::sync_with_stdio(false);
    int n;
    cin>>n;
    cout<<6-n<>pp;
        s.insert(pp);
    }
    for(int i=0;i<6;i++)
    {

        if(!s.count(str[i]))
            cout<

B번.High School: Become Human B. High School: Become Human은 xy와 yx^{y}와 y^{x}xy와 yx의 크기 관계를 구하는 두 가지 방법을 뜻한다. 첫 번째 방법은 x, y<=4x, y<=4x, y<=4에 대해 특판을 하고 나머지는 비교적 작게 아래에서 비교적 크며 다른 방법은 대수를 취하는 것이다. 그러나 x=yx=yx=y의 경우 특판을 해서 카드 정밀도 B의 두 번째 방법이 되지 않도록 해야 한다.
#include
#include
#include
#include
using namespace std;
const double ERR = 1e-10;
int main()
{
    ios::sync_with_stdio(false);
    double x,y;
    cin>>x>>y;
    double tmp1=y*log(x);
    double tmp2=x*log(y);
    if(x==y||fabs(x-y)
"); } return 0; }

C문제.Three displays C. Three displays 제목은 A 수조에서 ia[j]>a[i]a[j]>a[i]중 가장 작은 b[j]b[j]b[j]를 나타낸다.그리고 n2n^{2}n2 $i, j, o(1) 계산 계산 계산 b[i]+b[j]+b[k], 찾기, 찾기,min$를 계산하면 됩니다.C 문제 코드
#include
#include
#include
using namespace std;
typedef long long ll;
const int maxn = 3005;
const ll LL_INF = 0x3f3f3f3f3f3f3f3f;
ll maxx[maxn];
ll a[maxn];
ll w[maxn];
int main()
{
    int n;
    cin>>n;
    for(int i=0;i=0;i--)
    {
        maxx[i]=LL_INF;
        for(int j=i+1;ja[i])
            {
                maxx[i]=min(maxx[i],w[j]);
            }
        }
    }
    ll ans=LL_INF;
    for(int i=0;i

D문제.Fair D. Fair 제목은 모두 k가지 상품, n개 상점, m개의 도로가 있는데 만약에 어떤 상점이fair상태에 도달하려면 반드시 최소한 s가지 상품을 가지고 있어야 한다. 각 상점은 임의의 다른 상점으로부터 해당 상점의 상품 종류를 얻을 수 있다. (감소가 존재하지 않는다) 둘 사이의 최단거리 도로 개수를 소비하고 각 상점이fair에 도달하는 최소 비용을 k가 100에 불과하다는 것을 알아본다. 우리는 계산할 수 있다.모든 색깔이 모든 상인에게 가장 짧은 거리입니다. 이렇게 하면 모든 상인이 모든 색깔에 가장 짧은 거리를 알 수 있습니다. 그래서 k회 bfs를 한 후에 모든 상인에게 전 s종을 가져오는 데 작은 색깔을 쓰면 됩니다.D번 코드
#include
#include
#include
#include
using namespace std;
const int maxn = 1e5+5;
int dis[maxn][105];
int a[maxn];
int ans[maxn];
int x,y,n,k,m,s;
vector E[maxn];
void bfs(int x)
{
    queue q;
    for(int i=1;i<=n;i++)
    {
        if(a[i]==x)
        {
            q.push(i);
            dis[i][x]=0;
        }
    }
    while(!q.empty())
    {
        int tmp=q.front();
        q.pop();
        for(int i=0;i

E문제.Petr and Permutations E.Petr and Permutations는 AB에 각각 1-n의 순서로 배열하고 x를 임의로 교환 서열에 있는 두 요소로 설정하는 것을 의미한다. A는 그에게 3n번의 x조작을 하고 B는 그에게 7n+1번의 x조작을 한다. 최종 서열을 주겠다. 이 서열은 누가 조작한 것이냐고 묻는다.우리는 원 서열이 순서라는 것을 고려했다. 선형 대수에서 배운 적이 있다. 서열 중의 임의의 두 요소를 교환하면 서열의 역순대 짝수성이 한 번 바뀔 수 있기 때문에 우리는 총 조작 횟수만 알면 된다. 그리고 최종 역순대 개수의 짝수성을 판단하면 끝난다.E-문항 코드
#include
#include
#include
#include
#define maxn 1000005
using namespace std;
int w[maxn],sum[maxn],n;
struct T
{
    int x,num;
} a[maxn],T[maxn];
void merge_sort(int l,int r)
{
    if(r-l==1)return;
    int m=l+r>>1,tm=l+r>>1,tl=l,i=l;
    merge_sort(l,m),merge_sort(m,r);
    while(tl=r||(tl

좋은 웹페이지 즐겨찾기