8-18-小练

A.HDU 1172   猜数字

采用枚举~【赤果果的暴力~】

代码:

 #include <iostream>
#include <cstdio>
#include <cstring>
using namespace std; int x[],y[],s,ss,vis[],dis[];
char a[][]; void find(int b,int c)
{
if(b==(a[c][]-'') && !vis[])
{
s++;vis[]=;
return;
}
if(b==(a[c][]-'') && !vis[])
{
s++;vis[]=;
return;
}
if(b==(a[c][]-'') && !vis[])
{
s++;vis[]=;
return;
}
if(b==(a[c][]-'') && !vis[])
{
s++;vis[]=;
return;
}
} int main()
{
int n,i,j,A,B,C,D,AA,BB,CC,DD;
while(scanf("%d",&n),n)
{
for(i=;i<n;i++)
scanf("%s%d%d",a[i],&x[i],&y[i]);
int sum=;
for(i=;i<=;i++)
{
D=i%;
C=(i/)%;
B=(i/)%;
A=i/;
int k=;
for(j=;j<n;j++)
{
s=,ss=;
memset(vis,,sizeof(vis));
memset(dis,,sizeof(dis));
if(A==a[j][]-'') {ss++;s++;vis[]=;dis[]=;}
if(B==a[j][]-'') {ss++;s++;vis[]=;dis[]=;}
if(C==a[j][]-'') {ss++;s++;vis[]=;dis[]=;}
if(D==a[j][]-'') {ss++;s++;vis[]=;dis[]=;}
if(ss!=y[j]) break;
if(!dis[]) find(A,j);
if(!dis[]) find(B,j);
if(!dis[]) find(C,j);
if(!dis[]) find(D,j);
if(s!=x[j]) break;
k++;
}
if(k==n)
{
sum++;
if(sum==) break;
AA=A;BB=B;CC=C;DD=D;
}
}
if(sum!=) printf("Not sure\n");
else
printf("%d%d%d%d\n",AA,BB,CC,DD);
}
return ;
}

B.HDU 2112     HDU Today

就是字符串处理麻烦了点~将字符串编号+Dijkstra就可以了~

代码:

 #include <iostream>
#include <cstdio>
#include <cstring>
using namespace std; #define inf 0x3f3f3f3f //手抽~最开始把inf写的太大了,结果超int了......= =
int map[][],vis[],n,m,s,e;
long dis[];
char name[][]; void dijkstra()
{
memset(vis,,sizeof(vis));
memset(dis,inf,sizeof(dis));
dis[s]=;
for(int i=;i<=m;i++)
{
int x,minn=inf;
for(int j=;j<=m;j++)
if(!vis[j] && dis[j]<minn)
{
minn=dis[j];
x=j;
}
vis[x]=;
for(int y=;y<=m;y++)
dis[y]=min(dis[y],map[x][y]+dis[x]);
}
return;
} int find(char str[])
{
int i;
for(i=;i<=m;i++)
if(strcmp(name[i],str)==)
return i;
if(m== || i>m)
{
m++;
strcpy(name[m],str);
return m;
}
} int main()
{
while(scanf("%d",&n)!=EOF)
{
if(n==-) break;
char start[],end[],s1[],s2[];
int i,j,a,b,c;
scanf("%s%s",start,end);
memset(map,inf,sizeof(map));
m=;
for(i=;i<=n;i++)
{
scanf("%s%s%d",s1,s2,&c);
a=find(s1);
b=find(s2);
if(map[a][b]>c)
map[a][b]=map[b][a]=c;
}
s=find(start);
e=find(end);
if(s==e) printf("0\n");
else
{
dijkstra();
if(dis[e]!=inf)
printf("%ld\n",dis[e]);
else
printf("-1\n");
}
}
return ;
}

//memory:396KB     time:687ms

C.POJ 1321      棋盘问题

dfs~还有就是要注意当K<n 时~

代码:

 #include <iostream>
#include <cstdio>
#include <cstring>
using namespace std; bool chess[][],vis[];
int ans,n,k; void dfs(int row,int num)
{
if(num==k){ans++;return;}
if(row>=n) return;
for(int i=;i<n;i++)
if(!vis[i] && chess[row][i])
{
vis[i]=true;
dfs(row+,num+);
vis[i]=false;
}
dfs(row+,num); //这一步很重要~
return;
} int main()
{
while(~scanf("%d%d",&n,&k))
{
if(n==- && k==-) break;
int i,j;
memset(chess,false,sizeof(chess));
for(i=;i<n;i++)
for(j=;j<n;j++)
{
char c;
cin>>c;
if(c=='#')
chess[i][j]=true;
}
ans=;
dfs(,);
printf("%d\n",ans);
}
return ;
}

//memory:708KB    time:32ms

E.POJ 3006      Dirichlet's Theorem on Arithmetic Progressions

呃.......就是暴力啦.......

代码:

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std; bool juge(int x)
{
for(int i=;i*i<=x;i++)
if(x%i==) return false;
return true;
} int main()
{
int a,b,n,i,j;
while(scanf("%d%d%d",&a,&b,&n),a,b,n)
{
int k=,sum=;
for(i=;;i++)
{
sum=a+i*b;
if(sum> && juge(sum))
k++;
if(k==n) break;
}
printf("%d\n",sum);
}
return ;
}

//memory:164KB     time:250ms

8-18-Exercise的更多相关文章

  1. [未完成]关于Eclipse4RCP书中内容总结

    原文地址http://www.vogella.com/tutorials/EclipseRCP/article.html Table of Contents 1. Eclipse 4 1.1. Wha ...

  2. Delphi XE Starter Essentials 中文目录

    Table of Contents1. Delphi XE Starter IDE 1Delphi and C++Builder ................................... ...

  3. 18 A GIF decoder: an exercise in Go interfaces 一个GIF解码器:go语言接口训练

    A GIF decoder: an exercise in Go interfaces  一个GIF解码器:go语言接口训练 25 May 2011 Introduction At the Googl ...

  4. C - The C Answer (2nd Edition) - Exercise 1-8

    /* Write a program to count blanks, tabs, and newlines. */ #include <stdio.h> /* count blanks, ...

  5. MIT 6.828 JOS学习笔记5. Exercise 1.3

    Lab 1 Exercise 3 设置一个断点在地址0x7c00处,这是boot sector被加载的位置.然后让程序继续运行直到这个断点.跟踪/boot/boot.S文件的每一条指令,同时使用boo ...

  6. Think Python - Chapter 18 - Inheritance

    In this chapter I present classes to represent playing cards, decks of cards, and poker hands.If you ...

  7. James Munkres Topology: Sec 18 Exer 12

    Theorem 18.4 in James Munkres “Topology” states that if a function \(f : A \rightarrow X \times Y\) ...

  8. CMSC 216 Exercise #5

    CMSC 216 Exercise #5 Spring 2019Shell Jr (”Shellito”) Due: Tue Apr 23, 2019, 11:30PM1 ObjectivesTo p ...

  9. 18年10月31日 NOIP模拟赛

    T1.exercise 题解 数据很小直接模拟 代码 #include<iostream> #include<cstdio> #include<cmath> #in ...

  10. day06-codes and exercise in class

    # Author: Ghost # Email: jiaci.liu@gmail.com ''' 1-Review of last week 2-interface class, abstract c ...

随机推荐

  1. 常用数据字典---bai

    --常用数据字典 -- system: normal; sysdba --查询所有的逻辑对象.所有. select count(1) from dba_objects; select * from d ...

  2. 异步IO模型和Overlapped结构

    .NET中的 Overlapped 类 异步IO模型和Overlapped结构(http://blog.itpub.net/25897606/viewspace-705867/) 数据结构 OVERL ...

  3. delphi xe5 android listbox的 TMetropolisUIListBoxItem

    listbox实现以下效果: \ 关键代码,采用数据集的方式 type PpatientData=^RpatientData; RpatientData= record patient_id:stri ...

  4. Yours 的博客开张啦!

    虽然申请博客已经1个月了,但是一直没有来写,没办法,题都刷不完,哪有心思写啊``` 现在集训终于完了,有了属于自己的时间了.所以该把以前做的题,学的算法好好的整理整理了.一来顺顺思路,二来也可以给后来 ...

  5. Ubuntu14.04强化之conky——Harmattan主题

    一共有17个主题,四种模式,两种天气模式,支持摄氏度和华氏度. This conky comes with 17 themes: Cards Elementary Elune Flatts Metro ...

  6. PYTHON多进程并发WEB服务器(利用LINUX的FORK)

    这个又牛X 一点点.. 这还不涉及IO,如果调用GEVENT之类作异步IO或非阻塞IO,那就大框架都有啦.. ############################################# ...

  7. MongoDB实战指南(三):MongoDB的锁机制

    与关系数据库一样,MongoDB也是通过锁机制来保证数据的完整性和一致性,MongoDB利用读写锁来支持并发操作,读锁可以共享写锁具有排他性.当一个读锁存在时,其他读操作也可以用这个读锁:但当一个写锁 ...

  8. easyui源码翻译1.32--Window(窗口)

    前言 扩展自$.fn.panel.defaults.使用$.fn.window.defaults重写默认值对象.下载该插件翻译源码 窗口控件是一个浮动和可拖拽的面板可以用作应用程序窗口.默认情况下,窗 ...

  9. MinGW 编译libwebsockets

    libwebsockets是一个轻量的纯C库,在这里尝试使用MinGW进行构建. 官网地址:http://libwebsockets.org/trac/libwebsockets下载地址:http:/ ...

  10. [swustoj 191] 迷宫逃离

    迷宫逃离(0191) 描述 江鸟突然想到了一个迷宫逃离的游戏,话说有三个人被困于一个n*m的迷宫里,他们三人都可以向上.向下.向左.向右四个方向进行走动,当然他们所在的初始位置没有障碍物,同时只能走到 ...