摘要:
开始题目看错了,以为是求老朋友的个数,后来发现题目要求求新朋友的个数。筛选法。。。CODE:#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>usingnamespacestd;constintmaxn=32769;intvis[maxn]={0};intN,cnt;voidinit(intn,int&cnt){inti,j;cnt=0;memset(vis,0,sizeof(vis));for(i=2;i<n;i++)if(!vis[i]){i 阅读全文
摘要:
简单DFS。CODE:#include<stdio.h>#include<stdlib.h>#include<string.h>usingnamespacestd;intx,y;inttot;intn,m;charmaze[21][21];voiddfs(intx,inty,int&tot){if(x>=0&&y>=0&&x<n&&y<m&&maze[x][y]=='.'||maze[x][y]=='@'){tot++;maze[x 阅读全文
摘要:
简单模拟。注意数组别越界!CODE:#include<stdio.h>#include<stdlib.h>#include<string.h>usingnamespacestd;constintmaxn=65534;__int64prime[maxn];__int64save[maxn];intvis[maxn]={0};intcnt=0;voidinit(){__int64i,j;for(i=2;i<maxn;i++)if(!vis[i]){prime[cnt++]=i;for(j=i*i;j<maxn;j+=i)vis[j]=1;}retur 阅读全文
摘要:
贪心算法。贪心策略:假设田忌的马为A,齐威王的马为B。要使价值最大化的话,则有如下几种情况:1、使A中速度最次的马与B中速度最好的马比赛,使得B的价值损失最大。2、使A中速度最好的马与B中速度最好的马比赛,使得B中价值损失最大。3、如果A中速度最次的马与B中速度最次的马速度相等,则比较A中速度最大的马与B中速度最大的马的速度,有如下情况:(1)若大于,根据2知须A中速度最大的马与B中速度最大的马比赛。(2)若小于,则根据1知须A中最次的马与B中最好的马比赛。接下来根据上面的贪心策略就得到了具体的方案:1、A最快 > B最快:即A的最快能打败B的所有队员,为了后面着想,必然跟B的最快比。2 阅读全文