zoukankan      html  css  js  c++  java
  • 【五校联考5day1】序列

    O(n3)算法,好吧,其实正解就是这样子打的。
    如果给你极限数据的话:
    1,1,2,3,5,8,13,21,34,55,89,144…
    就多也就是50项(差不多,如果大于50,那肯定有解)
    所以啊,要不就是50项没有找到,要不就是找到了,就这么简单。
    再引用一下蔡dalao的说明吧:
    在这里插入图片描述

    %d%a%l%a%o

    上标:

    #include<cstdio>
    #include<algorithm>
    using namespace std;
    int n,m,a[100010],opt,x;
    
    inline int read()
    {
    	int x=0; char c=getchar();
    	while (c<'0' || c>'9') c=getchar();
    	while (c>='0' && c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();
    	return x;
    }
    
    bool check(int x,int y,int z)
    {
    	if (x>y) swap(x,y);
    	if (y>z) swap(y,z);
    	if (x>y) swap(x,y);
    	if (x+y>z)
    	{
    		printf("%d %d %d
    ",x,y,z);
    		return 1;
    	}
    	else return 0;
    }
    
    void doit()
    {
    	for (int i=3;i<=n;i++)
    		for (int j=2;j<i;j++)
    			for (int k=1;k<j;k++)
    				if (check(a[i],a[j],a[k])) return;
    	puts("-1 -1 -1");
    }
    
    int main()
    {
    	freopen("sequence.in","r",stdin);
    	freopen("sequence.out","w",stdout);
    	n=read();
    	for (int i=1;i<=n;i++) a[i]=read();
    	m=read();
    	while (m--)
    	{
    		opt=read();
    		if (opt==1) x=read(),a[x]=read();
    		else doit();
    	}
    	return 0;
    }
    
    转载需注明出处。
  • 相关阅读:
    Java斗地主--001版本
    集合----方法的可变参数
    浅谈--Java编译期异常+运行期异常
    JavaSE编程基础(一)
    JavaSE编程基础(三)
    JavaSE编程基础(二)
    软件测试(三十)
    软件测试(二十九)
    软件测试(二十七)
    软件测试(二十八)
  • 原文地址:https://www.cnblogs.com/jz929/p/11817620.html
Copyright © 2011-2022 走看看