#include <iostream>
 #include <cstring>
 #include <cstdio>
 #include <algorithm>
 #include <cmath>
 using namespace std;
  + ;
 struct points
 {
     double x,y;
 };
 points point[MAX];
 double d[MAX][MAX];
 double dist(int a, int b)
 {
     return sqrt( (point[a].x - point[b].x) * (point[a].x - point[b].x) + (point[a].y - point[b].y) * (point[a].y - point[b].y));
 }
 int main()
 {
     int n;
     while(scanf("%d", &n) != EOF)
     {
         ; i <= n; i++)
             scanf("%lf%lf", &point[i].x, &point[i].y);

         ; i < n - ; i++)
             d[n - ][i] = dist(n - , n) + dist(i, n);

         ; i > ; i--)
         {
             ; j < i; j++)
             {
                 ][j] + dist(i, i + ) - d[i + ][i] - dist(j, i + ) > 0.00001)
                     d[i][j] = d[i + ][j] + dist(i, i + );
                 else
                     d[i][j] = d[i + ][i] + dist(j, i + );
             }
         }
         printf(][] + dist(,));
     }

     ;
 }

UVA1347紫书dp

zoj1163http://blog.csdn.net/cherry_sun/article/details/6245208

 #include <iostream>
 #include <cstring>
 #include <algorithm>
 #include <map>
 #include <cstdio>
 using namespace std;
 map<string,int> color;
 ][],cnt[],sum[];
  + ];
 int main()
 {
     int n,m;
     while(scanf("%d%d", &n, &m) != EOF)
     {
          && m == )
             break;
         ];
         ; i <= n; i++)
         {
             scanf("%s", temp);
             color[temp] = i;
         }
         int x;

         memset(cnt, , sizeof(cnt));
         memset(sum, , sizeof(sum));
         memset(ans, , sizeof(ans));

         ; i <= m; i++)
         {
             scanf("%d%s",&x, temp);
             cloth[ color[temp] ][ cnt[ color[temp] ]++ ] = x;
         }
         ; i <= n; i++)
         {
             ; j < cnt[i]; j++)
             {
                 sum[i] += cloth[i][j];
             }
         }

         ;
         ; i <= n; i++)
         {
             ;
             ; j < cnt[i]; j++)
             {
                 for(int k = v; k >= cloth[i][j]; k--)
                 {
                     ans[k] = max(ans[k], ans[k - cloth[i][j]] + cloth[i][j]);
                 }
             }
             all += sum[i] - ans[v];
         }
         printf("%d\n",all);
     }

     ;
 }

UVA类似于8皇后问题

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
;
int g[MAX][MAX],vis[MAX][MAX*MAX];
int n,m,ans,t;
void dfs(int x,int cnt)
{
    ;
    for(int i = x; i < n; i++)
    {
        ; j < m; j++)
        {
            if(g[i][j])
            {
                ][j] ==  && vis[][i + j] ==  && vis[][i - j + t] == )
                {
                    flag = ;
                    break;
                }
            }
        }
        )
        {
            break;
        }
    }
    )
    {
        ans =min(ans,cnt);
        return ;
    }
    ; i < m; i++)
    {
        if(g[x][i])
        {
            ][i] ==  && vis[][x + i] ==  && vis[][x - i + t] == )
            {
                vis[][i] = vis[][x + i] = vis[][x - i + t] = ;
                dfs(x + , cnt + );
                vis[][i] = vis[][x + i] = vis[][x - i + t] = ;
            }
        }
    }
}
int main()
{
    ;
    while(scanf("%d", &n) != EOF)
    {
        )
            break;
        scanf("%d", &m);
        t = max(n,m);
        getchar();
        memset(vis,,sizeof(vis));
        memset(g,,sizeof(g));
        char ch;
        ; i < n; i++)
        {
            ; j < m; j++)
            {
                scanf("%c",&ch);
                if(ch == 'X')
                    g[i][j] = ;
            }
            getchar();
        }

        ans = ;
        dfs(,);
        printf("Case %d: %d\n",num++,ans);
    }
    ;
}

POJ 3026 Borg Maze

http://poj.org/problem?id=3026

 #include <iostream>
 #include <cstdio>
 #include <algorithm>
 #include <queue>
 #include <cstring>
 using namespace std;
 typedef pair<int,int> P;
 ;
 ][];
 ][],vis[][],dis[][],edge[][];
 int t,row,col,num;
 ][]={{,},{,},{,-},{-,} };
 void bfs(int x,int y)
 {
     queue<P> q;
     P point;
     point.first = x;
     point.second = y;
     memset(vis,,sizeof(vis));
     memset(dis,,sizeof(dis));
     vis[x][y] = ;
     q.push(point);
     while(q.size())
     {
         P temp;
         temp = q.front();
         q.pop();
         if( node[temp.first][temp.second] )
         {
             // cout<<node[x][y] <<" "<<node[point.first][point.second]<<endl;
             edge[ node[x][y] ][ node[temp.first][temp.second] ] = dis[temp.first][temp.second];
         }
         ; i < ; i++)
         {
             ];
             ];
              && fy >=  && fx < row && fy < col)
             {
                  && g[fx][fy] != '#')
                 {
                     dis[fx][fy] = dis[temp.first][temp.second] + ;
                     vis[fx][fy] = ;
                     point.first = fx;
                     point.second = fy;
                     q.push(point);
                 }
             }
         }
     }
 }
 void prime()
 {
     ];
     ];
     ; i < num; i++)
     {
         v[i] = false;
     }
     ; i < num; i++)
         s[i] = edge[][i];
     v[] = true;
     ;
     ; i < num; i++)
     {
         int pos, minn = INF;
         ; j < num; j++)
         {
             if(v[j] == false && s[j] < minn)
             {
                 minn = s[j];
                 pos = j;
             }
         }
         sum += minn;
         v[pos] = true;
         ; j < num; j++)
         {
             if(s[j] > edge[pos][j])
                 s[j] = edge[pos][j];
         }
     }
     printf("%d\n",sum);
 }
 int main()
 {
     scanf("%d", &t);
     while(t--)
     {
         scanf("%d%d", &col,&row);
         getchar();
         num = ;
         memset(node,,sizeof(node));
         memset(edge,,sizeof(edge));
         ; i < row; i ++)
         {
             ; j < col; j++)
             {
                 scanf("%c", &g[i][j]);
                 if(g[i][j] == 'A' || g[i][j] == 'S')
                     node[i][j] = num++;
             }
             getchar();
         }
         ; i < row; i++)
         {
             ; j < col; j++)
                 if(node[i][j])
                 bfs(i,j);
         }
         prime();
     }
     ;
 }

POJ2253

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>

using namespace std;
 + ;
 << ;
struct Node
{
    int x,y;
};
Node point[MAX];
int N;
double path[MAX][MAX],dist[MAX],ans;
int vis[MAX];
void prime()
{
    memset(vis,,sizeof(vis));
    ; i <= N; i++)
    dist[i] = path[][i];
    vis[] = ;
    dist[] = ;
    ;
    ; i < N; i++)
    {
        double minn = INF;
        ; j <= N; j++)
        {
             && dist[j] < minn)
            {
                minn = dist[j];
                pos = j;
            }
        }
        vis[pos] = ;
        dist[pos] = minn;
        )
            return;
        if(ans < minn)
            ans = minn;
        ; j <= N; j++)
        {
            )
                dist[j] = dist[pos] + path[pos][j];
        }
    }
}
int main()
{
    ;
    while(scanf("%d", &N) != EOF && N)
    {
        ; i <= N; i++)
        {
            scanf("%d%d",&point[i].x,&point[i].y);
        }
        ; i <= N; i++)
        {
            ; j <= N; j++)
            {
                double x = point[i].x - point[j].x;
                double y = point[i].y - point[j].y;
                path[i][j] = sqrt(x * x + y * y);
            }
        }
        ans = ;
        prime();
        printf("Scenario #%d\n",++t);
        if(ans)
            printf("Frog Distance = %0.3lf\n",ans);
        else
             printf(][]);
        printf("\n");
    }
    ;
}

WA题集的更多相关文章

  1. 数位dp题集

    题集见大佬博客 不要62 入门题,检验刚才自己有没有看懂 注意一些细节. 的确挺套路的 #include<bits/stdc++.h> #define REP(i, a, b) for(r ...

  2. ACM题集以及各种总结大全!

    ACM题集以及各种总结大全! 虽然退役了,但是整理一下,供小弟小妹们以后切题方便一些,但由于近来考试太多,顾退役总结延迟一段时间再写!先写一下各种分类和题集,欢迎各位大牛路过指正. 一.ACM入门 关 ...

  3. 全国各大 oj 分类题集...

    各种题集从易到难刷到手软  你准备好了吗? 准备剁手吧

  4. ACM题集以及各种总结大全(转)

    ACM题集以及各种总结大全! 虽然退役了,但是整理一下,供小弟小妹们以后切题方便一些,但由于近来考试太多,顾退役总结延迟一段时间再写!先写一下各种分类和题集,欢迎各位大牛路过指正. 一.ACM入门 关 ...

  5. 组合数取模&&Lucas定理题集

    题集链接: https://cn.vjudge.net/contest/231988 解题之前请先了解组合数取模和Lucas定理 A : FZU-2020  输出组合数C(n, m) mod p (1 ...

  6. Bug是一种财富-------研发同学的错题集、测试同学的遗漏用例集

    此文已由作者王晓明授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 各位看官,可能看到标题的你一定认为这是一篇涉嫌"炒作"的文章,亦或是为了吸引眼球而起的标 ...

  7. 二级C语言题集

    时间:2015-5-13 18:01 在131题之后是按考点分类的题集,有需要的朋友可以看一下 ---------------------------------------------------- ...

  8. 中南大学2019年ACM寒假集训前期训练题集(基础题)

    先写一部分,持续到更新完. A: 寒衣调 Description 男从戎,女守家.一夜,狼烟四起,男战死沙场.从此一道黄泉,两地离别.最后,女终于在等待中老去逝去.逝去的最后是换尽一生等到的相逢和团圆 ...

  9. 【转】并查集&MST题集

    转自:http://blog.csdn.net/shahdza/article/details/7779230 [HDU]1213 How Many Tables 基础并查集★1272 小希的迷宫 基 ...

随机推荐

  1. [转] IIS配置文件的XML格式不正确 applicationHost.config崩溃 恢复解决办法

    IIS配置文件的XML格式不正确 applicationHost.config崩溃 恢复解决办法 源文件:http://www.cnblogs.com/yuejin/p/3385584.html   ...

  2. Scala 变长参数

    如果Scala定义变长参数 def sum(i Int*), 那么调用sum时,可以直接输入sum(1,2,3,4,5) 但是不可以sum(1 to 5) 必须要将1 to 5 强制为seq sum( ...

  3. Android 底部弹出Dialog(横向满屏)

    项目中经常需要底部弹出框,这里我整理一下其中我用的比较顺手的一个方式(底部弹出一个横向满屏的dialog). 效果图如下所示(只显示关键部分): 步骤如下所示: 1.定义一个dialog的布局(lay ...

  4. ubuntu 16.04 安装nodejs

    经过几天的尝试,终于装好了: 1. nodejs官方推荐一下安装方式: NodeSource的二进制安装脚本NodeSource Using Ubuntu curl -sL https://deb.n ...

  5. 在VMware上安装Linux(CentOS)

    1. 新建虚拟机 2. 新建虚拟机向导 3. 创建虚拟空白光盘 4. 安装Linux系统对应的CentOS版 5. 虚拟机命名和定位磁盘位置 6. 处理器配置,看自己是否是双核.多核 7. 设置内存为 ...

  6. java中数据类型的转换

    数据类型的转换,分为自动转换和强制转换. 自动转换是程序执行过程中“悄然”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换 强制转换必须在代码中声明,转换顺序不受限制 自动数据类 ...

  7. 生产环境常见的HTTP状态码列表

    生产环境常见的HTTP状态码列表(List of HTTP status codes)为: 200 - OK,服务器成功返回网页     - Standard response for success ...

  8. WPF 自定义窗口关闭按钮

    关闭图标设计主要涉及主要知识点: 1.Path,通过Path来画线.当然一般水平.竖直也是可以用Rectangle/Border之类的替代 一些简单的线条图标用Path来做,还是很方便的. 2.简单的 ...

  9. Android Studio NDK 开发 问题记录

    Android NDK 开发 问题解决 编译:找不到gles3库 使用旧的编译方式,写Android.mk 进行编译.报错如下 gles3/gl3.h no such file or director ...

  10. 嵌入式Linux驱动学习之路(二十四)Nor Flash驱动程序

    Nor Flash和Nand Flash的不同: 类型 NOR Flash  Nand Flash  接口 RAM-like,引脚多 引脚少 容量 小(1M.2M...) 大(512M.1G) 读 简 ...