标签:比赛总结
链接:click here~~ ,密码:nyist
C - 三角形问题
Description
Input
Output
Sample Input
Sample Output
模拟判断一下,具体看代码吧,脑子有点累了,,手也有点懒了,懒的写写太多没用的东西。。
代码:
#include <stdio.h> #include <string.h> #include <iostream> #include <algorithm> using namespace std; __int64 a[100005]; int main() { __int64 n,m,i,j; int t,tot=1; a[0]=1; for(i=1; i<100000; i++) { a[i]=i+a[i-1]; } scanf("%d",&t); while(t--) { scanf("%I64d%I64d",&n,&m); if(n>m){swap(n,m);} printf("Case %d:",tot++); if(n==m) { printf("No\n"); continue; } for(i=0; i<100000; i++) { if(n<a[i]) { break; } } if(n==a[i]-1) { if(m==n+i||m==n+i+1) { printf("Yes\n"); } else printf("No\n"); } else { if(n==m-1||n+1+i==m||n+i==m) { printf("Yes\n"); } else printf("No\n"); } } return 0; }D - 排火车
Description
于是他们开始玩排火车了。。。
现在假设Apple和Gaga各有N张牌,Apple先出牌。请你给出一轮下来Apple和Gaga各获得的牌数。
Input
第一行T,表示T组测试数据,接下来有T部分。
每部分开头是一个整数N(1 <= N <= 50000),表示Apple和Gaga的牌数。接下来有2行,给出Apple和Gaga的牌的情况。首先给出Apple的牌,有N个整数,第i个整数xi(1 <= xi <= 100000)表示Apple的第i张牌面。其次给出Gaga的牌,格式类似。
Output
Sample Input
Sample Output
Hint
#include <iostream> #include <stdio.h> #include <string.h> #include <math.h> #include <stack> #include <algorithm> using namespace std; const int N=100005; const double pi=acos(-1.0); #define LL __int64 int a[N],b[N],c[N]; int flag[N]; int main() { int t,i,j,n,m,tot=1; scanf("%d",&t); while(t--) { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(flag,0,sizeof(flag)); scanf("%d",&n); for(i=1; i<=n; i++) scanf("%d",&a[i]); for(i=1; i<=n; i++) scanf("%d",&b[i]); int s1=0,s2=0,ss=1; for(int i=1; i<=n; i++){ if(flag[a[i]]!=0){ s1++; int temp=flag[a[i]]; for(int k=flag[a[i]]; k<ss; k++){ flag[c[k]]=0; s1++; } ss=temp; } else{ flag[a[i]]=ss; c[ss++]=a[i]; } if(flag[b[i]]!=0){ s2++; int temp=flag[b[i]]; for(int k=flag[b[i]]; k<ss; k++){ flag[c[k]]=0; s2++; } ss=temp; } else{ flag[b[i]]=ss; c[ss++]=b[i]; } } printf("Case %d:Apple:%d Gaga:%d\n",tot++,s1,s2); } return 0; }
#个人赛第七场解题总结# (FZU 1881三角形问题 找规律 &&FZU 1884 排火车 模拟)
标签:比赛总结
原文地址:http://blog.csdn.net/u013050857/article/details/44810847