随笔分类 - ACM_模拟
摘要:题目地址:http://poj.org/problem?id=3984利用图论中深搜的思想,存在边就是x,y -> x+1,y 还有x,y -> x,y+1 然后仍然是访问未访问的而且不是墙壁的地方。 这样保证不走已经搜索过,走不通的路。唯一一种需要重复访问已经访问的结点的情况是已经无路可走了,只能返回,这样就在栈中将路径取出来,把自己现在的那个先pop掉,然后实现回溯。最后用向量实现栈的自底输出。代码:IDUserProblemResultMemoryTimeLanguageCode LengthSubmit Time12143517814jingqi3984Accepted72
阅读全文
摘要:题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3432题目思路: 其实就是找那个只出现了1次的字符串。 但是如果用数组或者map记录出现的次数,10w的数量会导致超时,学到一种神奇的方式--直接用异或处理先看代码:#include
#include
#include using namespace std; string s;
char sock[9];
char ans[9];
int main()
{ int n; cin>>n; while(cin>>n) { g...
阅读全文
摘要:题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4113思路:这个就是三维数组的地址和下标之间的对应。 然后涉及到一定的变换 ,我们有一个p【a】 记录在若干次对换之后实际对应的是哪个数。 同时,为了能用find函数找回坐标,我们还要记录反函数(写作pp【a】)然后这个value超过的xyz是不要输出的。代码:#include
#include
#include
#include
using namespace std; int p[1010];
int q[1010];
int r[1010]; int ...
阅读全文
摘要:题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4708首先来学习一个ac的代码:作者http://blog.csdn.net/xingyeyongheng#include
#include
#include
#include
#include
#include
#include
#include
#define INF 99999999
using namespace std; const int MAX=10;
int s[MAX][MAX]; int main(){ int n; while(scanf("%d",&
阅读全文
摘要:题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3789首先 题目要求只对m个国家排序,然后输出的顺序是给的国家编号的顺序~~!! 不一定是升序` wa了n次在这里然后用sort死做代码:#include
#include
#include
#include
using namespace std; struct nation
{ long double gold; long double all; long double area; int id; int rate1; int rate...
阅读全文
摘要:题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4706用一个三维数组来存贮要表示的矩阵,先画几个特例找规律,记住这个N是倒的...代码:#include
#include
using namespace std; char p[11][11][11]; int main()
{ for(int i=1;i
#include
#include
using namespace std; int a[100][100];
bool vis[100][100]; void init()
{ memset(vis,0,size...
阅读全文
浙公网安备 33010602011771号