UVA&&LA
sky_zdk
这个作者很懒,什么都没留下…
展开
-
uva 11636
#include#includeint main(){ int n,t=1; while(~scanf("%d",&n)&&n>=0) { int i=1,tot=0; while(i<n) { tot++; i<<=1; } printf("Case %d: %d\n",t++,tot); } return原创 2017-05-15 12:14:52 · 232 阅读 · 0 评论 -
uva 11039
#include#includeint vis[1000010];int main(){ int T; scanf("%d",&T); while(T--) { int q; memset(vis,0,sizeof(vis)); scanf("%d",&q); while(q--) { int x; scanf("%d",&x); if(x>0原创 2017-05-15 12:55:47 · 258 阅读 · 0 评论 -
uva 10970
#include#includeint main(){ int n,m; while(~scanf("%d%d",&n,&m)) { if(n==1&&m==1) { printf("0\n"); continue; } int res=0; if(n>1) res+=(n-1); if(m>1) res+=n*(m-1);原创 2017-05-15 13:07:28 · 237 阅读 · 0 评论 -
uva 10340
#include#includeint main(){ char str1[100000],str2[100000]; while(~scanf("%s%s",str1,str2)) { int len1=strlen(str1); int len2=strlen(str2); int i=0,j=0; for(i=0;i<len2&&j<len1;i++) {原创 2017-05-15 13:14:49 · 232 阅读 · 0 评论 -
LA 3213
#include#include#includeusing namespace std; int n1[270];int n2[270];int main(){ char str1[200],str2[200]; while(~scanf("%s%s",str1,str2)) { int len=strlen(str1); memset(n1,0,sizeof(n1))原创 2017-05-15 19:29:55 · 278 阅读 · 0 评论 -
LA 3602
#include#includeusing namespace std;char str[1000][1000];int num[1000][4];int main(){ int T; scanf("%d",&T); while(T--) { int n,len; memset(num,0,sizeof(num)); scanf("%d%d",&n,&len);原创 2017-05-15 19:50:18 · 280 阅读 · 0 评论 -
uva 10382
#include#include#include#include#define eps 1e-9using namespace std;struct node{ double L,R;}Water[11000];bool cmp(const struct node &a,const struct node &b){ return a.L<b.L;} int mai原创 2017-05-15 21:15:16 · 366 阅读 · 0 评论 -
uva 10905
#include#include#include#include#includeusing namespace std;bool cmp(string a,string b){ return (b+a)<(a+b); }string str[1000];int main(){ int n; while(~scanf("%d",&n)&&n) { for(int i原创 2017-05-15 21:43:18 · 247 阅读 · 0 评论 -
LA 4254 二分
#include#include#include#include#define INF 0x3f3f3f3f#define MAX(x,y) ((x)>(y)?(x):(y))#define MIN(x,y) ((x)>(y)?(y):(x))using namespace std;struct node{ int l,r,w;}d[100100];int L,R,n;b原创 2017-06-01 13:38:09 · 480 阅读 · 0 评论 -
uva 11134 棋盘放车,每个车游个放置范围
#include#includeint x1[5100],y1[5100],x2[5100],y2[5100],d1[5100],d2[5100];int vis[5100];int main(){ int n; while(~scanf("%d",&n)&&n) { int flag=0; for(int i=0;i<n;i++) scanf("%d%d%d%d",&原创 2017-06-07 20:03:20 · 385 阅读 · 0 评论 -
uva 11100
#include#include#includeusing namespace std;#define MAX(x,y) ((x)>(y)?(x):(y))int vis[1000100];int d[100100];int main(){ int n; while(~scanf("%d",&n)&&n) { int res=0; memset(vis,0,sizeo原创 2017-06-07 20:25:43 · 303 阅读 · 0 评论 -
uva 1450 LA 4725
#include#include#define MAX(x,y) ((x)>(y)?(x):(y))int d1[5100],d2[5100],n;int ok(int num){ int l=0,r=0,k=0,l1=0,r1=0; for(int i=0;i<n;i++) { int t=0; l+=d1[i]; r+=d2[i]; if(l>num) {原创 2017-06-08 12:29:27 · 593 阅读 · 0 评论 -
LA 3266 Tian Ji -- The Horse Racing
#include#include#includeusing namespace std;int d1[1100],d2[1100];int main(){ int n; while(~scanf("%d",&n)&&n) { for(int i=0;i<n;i++) scanf("%d",&d1[i]); for(int i=0;i<n;i++) scanf("%原创 2017-06-08 12:58:28 · 395 阅读 · 0 评论 -
uva 11389 贪心
#include#include#includeusing namespace std;bool cmp1(const int &a,const int &b){ return a<b;}bool cmp2(const int &a,const int &b){ return b<a;}int d1[1000],d2[1000];int main(){ int n,d原创 2017-07-01 08:41:55 · 288 阅读 · 0 评论 -
LA 4094 Wonder Team
#include#include#includeusing namespace std;int main(){ int n; while(~scanf("%d",&n)&&n) { if(n<=3) printf("1\n"); else if(n==4) printf("2\n"); else printf("%d\n",n); } return原创 2017-07-01 08:55:23 · 271 阅读 · 0 评论 -
LA 4636 Cubist Artwork
#include#includeint vis[1000];int main(){ int n,m; while(~scanf("%d%d",&n,&m)&&(n+m)) { int res=0,t; memset(vis,0,sizeof(vis)); for(int i=0;i<n;i++) { scanf("%d",&t); vis[t]++;原创 2017-07-03 08:46:02 · 201 阅读 · 0 评论 -
uva 1421 Archery
#include#include#include#include#define eps 1e-6#define MAX(x,y) ((x)>(y)?(x):(y))#define MIN(x,y) ((x)>(y)?(y):(x))using namespace std;struct node{ double l,r,h;}line[5050];int n;int ok(原创 2017-07-03 09:37:11 · 210 阅读 · 0 评论 -
uva 10825
#include#include#includeusing namespace std;int n,m,vis[666],tmp[16],lo[16],ans[16],cnt[666];int cal(){ int c[16]; c[m]=0; for(int i=0;i<m;i++) ans[i]=c[i]=tmp[lo[i]]; for(int i=2;i<=m;i++原创 2017-07-03 16:41:30 · 290 阅读 · 0 评论 -
LA 2963
#include#include#include#includeusing namespace std;struct node{ int x,y,z,flag;}G[1010];struct node1{ int a,b,len;}E[1010000];bool cmp(const node1 &a,const node1 &b){ return a.len<b.le原创 2017-07-20 10:11:39 · 238 阅读 · 0 评论 -
uva 10827 球面最大子矩形
#include#includeusing namespace std;int d[160][160];int s[160];int main(){ int T; scanf("%d",&T); while(T--) { int n,res=0; scanf("%d",&n); for(int i=0;i<n;i++) for(int j=0;j<n;j++)原创 2017-07-20 10:41:54 · 223 阅读 · 0 评论 -
uva 10125
#include#include#includeusing namespace std;int d[1010];int main(){ int n; while(~scanf("%d",&n)&&n) { for(int i=0;i<n;i++) scanf("%d",&d[i]); sort(d,d+n); int flag=0; for(int i=n-1原创 2017-07-20 10:57:33 · 245 阅读 · 0 评论 -
uva 10763
#include#includeusing namespace std;int d[1010][1010];int ok(int n){ for(int i=0;i<500;i++) for(int j=0;j<500;j++) if(d[i][j]) return 0; return 1;} int main(){ int n; while(~scanf("%d",原创 2017-07-20 11:21:42 · 161 阅读 · 0 评论 -
uva 10391
#include#include#include#include#includeusing namespace std;maph;string d[120060];int cnt; int main(){ cnt=0; while(cin>>d[cnt]) { h[d[cnt]]=1; cnt++; } for(int i=0;i<cnt;i++) for(原创 2017-07-20 11:37:21 · 189 阅读 · 0 评论 -
uva 11054
#include#include#define ABS(x) (x)>0?x:(-x)using namespace std;int main(){ int n; while(~scanf("%d",&n)&&n) { long long int t=0,res=0; for(int i=0;i<n;i++) { int a; scanf("%d",&a);原创 2017-07-20 11:55:25 · 215 阅读 · 0 评论 -
LA 4726 斜率DP
#include#includeusing namespace std;int d[100100],q[100100];char str[100100];double cal(int a,int b){ return 1.0*(d[b]-d[a])/(1.0*b-a);}int main(){ int T,n,len; scanf("%d",&T); while(T--)原创 2017-07-20 13:00:14 · 212 阅读 · 0 评论 -
LA 4356
#include#include#include#include#define PI acos(-1.0)using namespace std;struct node{ int x,y,r; double k; bool operator<(const node &a)const { return k<a.k; } void init() { scanf("%原创 2017-07-20 14:38:27 · 456 阅读 · 0 评论 -
LA 5052
#include#include#include#includeusing namespace std;int a[3050],lo[3050];int main(){ int n; while(~scanf("%d",&n)&&n) { int res=0; for(int i=0;i<n;i++) { int t; scanf("%d",&t)原创 2017-07-20 15:13:59 · 321 阅读 · 0 评论 -
LA 3716
#include#include#include#includeusing namespace std;struct node{ int lo,v;}G[150005];bool cmp(const node &a,const node &b){ if(a.v==b.v) return a.lo<b.lo; else return a.v>b.v;}char str原创 2017-07-20 16:01:30 · 285 阅读 · 0 评论 -
uva 11481 一个序列前m个中有k个不动,其他可动可不动 共有几种情况
#include#include#define MOD 1000000007using namespace std;int n,m,k;long long res,d[1060],c[1060][1060];;void init(){ d[0]=1; d[1]=0; for(int i=2;i<=1000;i++) d[i]=((d[i-1]+d[i-2])%MOD * (i原创 2017-07-30 09:43:43 · 329 阅读 · 0 评论 -
uva 10237 n x n棋盘上放k个棋子 棋子不能在同一斜线上 求总类数
#include#includeusing namespace std;long long dp1[36][96],dp2[36][96];int n,k;void init(){ for(int i=0;i<=36;i++) dp1[i][0]=dp2[i][0]=1; for(int i=1;i<=36;i++) for(int j=1;j<=2*i-1;j++) {原创 2017-07-30 10:51:29 · 628 阅读 · 0 评论 -
uva 11584
把一个字符串分解成尽可能少的 回文子串原创 2017-07-21 12:43:15 · 194 阅读 · 0 评论 -
LA 4256 Salesman
#include#include#includeusing namespace std;int d[260][260];int dp[260][260];int n,q,a[260];int main(){ int T; scanf("%d",&T); while(T--) { memset(d,0,sizeof(d)); memset(dp,0x3f,sizeof原创 2017-07-21 13:27:49 · 275 阅读 · 0 评论 -
uva 10534 波浪序列DP
#include#include#include#define INF 0x3f3f3f3fusing namespace std;int a1[10010],a2[10010],dp1[10010],dp2[10010],d1[10010],d2[10010];;int main(){ int n; while(~scanf("%d",&n)) { for(int i=0原创 2017-07-21 13:49:36 · 529 阅读 · 0 评论 -
uva 11552 DP
#include#include#include#define INF 0x3f3f3f3fusing namespace std;char str[1010];bool vis[200];int dp[1010][1010];int main(){ int T,k; scanf("%d",&T); while(T--) { memset(dp,0x3f,sizeof原创 2017-07-21 15:02:01 · 160 阅读 · 0 评论 -
uva 11404
#include#include#include#include using namespace std;struct node{ int v; string s; bool operator>(const node &a)const { if(v==a.v) return s<a.s; else return v>a.v; }}dp[1010][1010]原创 2017-07-22 09:17:45 · 365 阅读 · 0 评论 -
LA 4731 DP+贪心
#include#include #include#define INF 0x3f3f3f3fusing namespace std;bool cmp(int a,int b){ return a>b;}int dp[160][160];int d[160],sum[160];int main(){ int T,n,k; scanf("%d",&T); while(T原创 2017-07-22 10:44:00 · 392 阅读 · 0 评论 -
uva 11795 Mega Man‘s Missions’ 状态压缩DP
#include#includeusing namespace std;int s[100],d[1<<17];long long dp[1<<17];char str[100];int main(){ int T,n,t=1; scanf("%d",&T); while(T--) { scanf("%d",&n); for(int i=0;i<=n;i++) {原创 2017-07-22 12:06:11 · 213 阅读 · 0 评论 -
LA 4727 约瑟夫环 求最后n个数
#include#includeusing namespace std;int main(){ int T,n,k; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&k); int s=(k-1)%3; for(int i=4;i<=n;i++) s=(s+k)%i; printf("%d ",s+1); s原创 2017-07-22 13:05:46 · 235 阅读 · 0 评论 -
LA 3530 Martian Mining
#include#include#includeusing namespace std;int we[560][560],ns[560][560],dp[560][560];int main(){ int n,m; while(~scanf("%d%d",&n,&m)&&(n+m)) { for(int i=1;i<=n;i++) for(int j=1;j<=m;j++原创 2017-07-22 13:31:48 · 304 阅读 · 0 评论 -
uva 10564 DP+打印路径
#include#includeusing namespace std;int G[100][100];long long int dp[56][36][560];int main(){ int n,s; while(~scanf("%d%d",&n,&s)&&(n+s)) { for(int i=1;i<2*n;i++) { if(i<=n) f原创 2017-07-22 14:50:11 · 171 阅读 · 0 评论