2008-12-04 21:21 #include<iostream>
using namespace std;
//搜索,首先有水的是1,否则为0;
//按八个方向搜索,找到1,染色,
int a[102][102];
int n,m,c;
void dfs(int i,int j)
{
if(a[i][j]==0)return;
if(a[i][j]==1)
{
a[i][j]=0;
dfs(i-1,j-1);
|
2008-12-04 20:56 #include<iostream>
using namespace std;
//*7且无线扩大,输出要求的位数即可 整个过程是 n*7 n%d 循环,从第l次到第f次的只输出
int main()
{
int t,i,j,f,l,n,d,m;cin>>t;
for(i=1;i<=t;i++)
{
scanf("%d%d%d%d",&n,&d,&l,&f);
// cout<<n<<" |
2008-12-04 20:43 #include<iostream>
using namespace std;
double a,b,c,d,t;
// 模拟题
int main()
{
double n1,n2,t;
char s='%';
while(cin>>a>>b>>c>>d)//保证a,c是较小的,b,d是较大的 小的和小的比,大的和大的比
{ |
2008-12-04 20:09 #include<iostream>
#include<string>
using namespace std;
//搜索题 ,注意边界
//当前状态是之前可行状态之和再加上自身的
int main()
{
__int64 i,j,k,n,len,t;
string s;
while(cin>>n,n!=-1)
{
__int64 a[n+1][n+1];
__int64 b[n+1][n+1]; |
2008-12-03 21:06 #include<iostream>
#include<deque>
#include<vector>
using namespace std;
//双端队列,线段树,优先队列都可以做
vector<int>v_max,v_min;
deque<int>d1,d2;
int n,k,t;
int a[1000001];
int main()
{
int i,j,k,max,min;
// while(scanf("%d%d",&n,&k)!=EOF)
// {
scanf("%d%d |
2008-12-02 22:34 #include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
//简单的广搜,第一个自以为写的很漂亮,可惜超时了,没办法只好空间换时间了
//这题很郁闷本来re的代码后来再交又莫名AC了,无语
//后面一个是超时的程序,
int s[500005];//标记该点是否走过
int a[500005];//该点所花时
queue<int>q;
int main()
{
int n,k,temp;
scanf("%d%d",&n,&k); |
2008-12-02 21:59 #include<iostream>
#include<algorithm>
#define MAX 999999999
using namespace std;
int a[12],b[12];
//这题卡内存所以不能全存,每次用堆动态的跟新那些要保存的最大最小
//最小数更新时要把最大放堆首,最大数更新时要把最小放堆首
bool cmp1(int x,int y)//true表示把最小的出堆,最小的放堆首
{
return x>y;//默认是x<y,即最大根放堆首,最大出堆
}
int main()
{
|
2008-12-02 19:48 #include<iostream>
#include<cmath>
using namespace std;
//又是一道数论题,把约数求出来
// 此题耗了我近5个小时,不过还是很有收获的
//tle 了无数次,对此做下总结,首先此题要用到一个很经典的数论知识求约数个数
//这题,第一次做的时候直接搜,加了些剪枝,当然tle,然后加了记忆化搜索,还是tle
//随后打表,将小于等于431的素数打印出来,在逐个的求出从0到431的各种情况的结,打一张表,想当然的还是TLE
//最后发现其实不用每次都从n到n-k+1的每个数的约数都加起来,这 |
| | |