zoukankan      html  css  js  c++  java
  • CSP-S2T4/P7078 贪吃蛇

    #include <bits/stdc++.h>
    using namespace std;
    const int mn=1e6+7;
    int c[mn];
    struct ccf{
    	int l,id;
    }q1[mn],q2[mn];
    int main()
    {
    	int T;int n;
    	cin>>T;
    	for(int t=1;t<=T;++t)
    	{
    		memset(q2,-1,sizeof(q2));
    		if(t==1)
    		{
    			scanf("%d",&n);
    			for(int i=n;i>=1;--i)
    			{
    				scanf("%d",&q1[i].l);
    				q1[i].id=n+1-i;
    			}
    		}	
    		else
    		{
    			int m;
    			scanf("%d",&m);
    			for(int i=1;i<=m;++i)
    			{
    				int k,x;
    				scanf("%d%d",&k,&x);
    				q1[n+1-k].l=x;
    			}
    		}
    		int h1=1,t1=n,h2=1,t2=0,ans=n;
    		while(1)
    		{
    			if((q1[h1].l>q2[h2].l)||(q1[h1].l==q2[h2].l&&q1[h1].id>q2[h2].id))
    			{
    				q2[++t2].l=q1[h1].l-q1[t1].l;
    				q2[t2].id=q1[h1].id;
    				++h1;--t1;
    			}
    			else
    			  if((q1[h1].l<q2[h2].l)||(q1[h1].l==q2[h2].l&&q1[h1].id<q2[h2].id))
    			  {
    			  	q2[++t2].l=q2[h2].l-q1[t1].l;
    				q2[t2].id=q2[h2].id;
    				++h2;--t1;
    			  }
    			--ans;
    			if(ans<=1||h1>t1||q2[t2].l<q1[t1].l||(q2[t2].l==q1[t1].l&&q2[t2].id<q1[t1].id))
    			  break;
    		}
    		printf("%d
    ",ans+(ans+1)%2);
    	}
    	return 0;
    }
    
  • 相关阅读:
    第四周总结&实验报告二
    实验报告 一
    周总结
    期末总结
    第十二周作业
    第十一周作业
    第十周作业
    第九周作业
    第八周作业
    第五周课程总结&试验报告(三)
  • 原文地址:https://www.cnblogs.com/org0/p/13948936.html
Copyright © 2011-2022 走看看