E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
FOJ
FOJ
1436 Renting Boats
http://acm.fzu.edu.cn/problem.php?pid=1436 题目大意:这道题的意思就是说,一条江上游N个租船点,从一个租船点到另一个租船点都有一个租船费,并且每个租船点都只能前往编号比它大的租船点,这个费用题目已经给你了。问你现在从1这个租船点到最后一个N这个租船点最少的租金。 解题思路:这道题就是求最短路径的问题啦,用Prim算法或者是Dijkstra算法都可以做,不
q3498233
·
2009-08-07 18:00
算法
Graph
FOJ
1436 Renting Boats
用了有点变态的Dijkstra嘿嘿。。。自己改造的。。。 #include#include#defineMAX205#defineINFINITE99999intDijkstra(intGraph[][MAX],intn){intSet[MAX];intdist[MAX];memset(Set,0,sizeof(Set));inti,j,k;intmin;for(i=1;iGraph[k][i]+
cclsoft
·
2009-08-06 23:00
Graph
ini
FOJ
QS Network
http://acm.fzu.edu.cn/problem.php?pid=1096 题目大意:这道题的大意就是说外星人要联系彼此的话,彼此都要有一台网络适配器,并且一个适配器只能对应一个外星人,也就是说你想跟4个人联系的话,你就要买4台的网络适配器。并且呢,每个外星人固定都喜欢买一个自己喜欢的价格的适配器。每个外星人之间联系时,如果中间有线,这联系的费用不仅要包含买网络适配器的钱,还要加上这个
q3498233
·
2009-08-06 20:00
算法
网络
Graph
NetWork
FOJ
1339 Calculator
http://acm.fzu.edu.cn/problem.php?pid=1339 解题思路:这题就是模拟计算器啦,不过这道题给你的都是非负数,所以你就不用考虑负数的情况,题目也好做多了。这道题主要就是用到栈,建两个栈,一个是数值栈,另一个则是运算符栈。当前要放入栈的运算符和栈顶元素比较,运算符高的直接入栈,低或者相等的话,取出栈顶元素,跟这个运算符配对的两个数值也拿出去做运算。运算出来的结果
q3498233
·
2009-08-06 10:00
FOJ
1083 Expanding Rods
http://acm.fzu.edu.cn/problem.php?pid=1083 题目大意:路面热胀冷缩会使的路面膨胀起来形成一个拱形,叫你求拱形中心离地面多远。给定你C,n根据公式可以求出拱形的长度L。以拱形为圆的一段弧,路面为圆的弦,半径同时通过路面中点和弧中点构造一个扇形图出来。取扇形角度为a,则可以推出R=L/(2*R),R=l/(2*sin(a)),从而推出l/L=a/sin(a)
q3498233
·
2009-08-04 21:00
FOJ
1481 环串
http://acm.fzu.edu.cn/problem.php?pid=1481 解题思路:这道题也是要用到KMP算法,题目给你的串是首尾相连的,所以就想到要把环串放大2倍,模式串放大一倍,匹配就+1,最后输出count. #include#include#defineclen402voidGetNext(chart[],intnext[]){inti=0,j=-1;next[0]=-1;w
q3498233
·
2009-08-04 16:00
FOJ
1573 大学自习室
这题目虽然是简单题,但是很容易把人搞晕。。。必须考虑几种特殊情况。比如当n为偶数的时候,mid要从哪里开始?i-1越界的情况怎么办。j+1越界的情况怎么办?还是蛮麻烦的。。。
cclsoft
·
2009-08-02 20:00
FOJ
1409 文件压缩
此题注意的是,排序不能用sort而要用stable_sortstable_sort是保证相等元素的相对前后位置不变的。
cclsoft
·
2009-08-02 11:00
FOJ
1773 Discount
http://acm.fzu.edu.cn/problem.php?pid=1773 题目大意:买礼物时会有折扣,现在给你一个价格和他的折扣,得出打折后的价格,如果价格中包含有8这个数字,价格就OK。否则就要一直加钱,知道有8出现为止。如果打折后价格有小数位,则进一位再进行判断。 解题思路:用到sprintf函数把数字转换进数组中去,然后判断数组中每个元素是否有8的,有就输出结果就是了。 #inc
q3498233
·
2009-08-02 10:00
FOJ
1723 我就不信你能找得到
yayamao可真会出水题呀。。。。嘿嘿,不过也折腾了好久。。。。 应为传进来的数据是llu类型的,但我却用d去接收。。。导致WA.. 后来火大,懒得管那么多类型了,直接用cin....那么就超时了。。。。。 cin和scanf的时间差的可不是一般的多。。。。
cclsoft
·
2009-08-02 09:00
FOJ
1011 Power String
#include#includevoidGetNext(charstrings[],intnext[]);//KMP算法的获得next算法charstrings[1000001];intnext[1000001];intmain(){intlen;intk,m;/*freopen("e://12.txt","r",stdin);*/while(gets(strings)){if(strings[0
q3498233
·
2009-08-02 00:00
算法
String
include
FOJ
1635 Commandos
CommandosAgroupofcommandoswereassignedacriticaltask.Theyaretodestroyanenemyheadquarter.Theenemyheadquarterconsistsofseveralbuildingsandthebuildingsareconnectedbyroads.Thecommandosmustvisiteachbuilding
q3498233
·
2009-08-01 16:00
Integer
Graph
input
each
任务
Numbers
FOJ
1563 Prime Numbers
PrimeNumbersComputethenumberofprimenumbersinagiveninterval.Aprimenumberisanintegerpgreaterthan1whoseonlypositivedivisorsare1andp.InputThefirstlinecontainsthenumberoftestcasesT(T#include#includevoidCom
q3498233
·
2009-07-31 20:00
FOJ
1019 猫抓老鼠
猫捉老鼠一只猫和一只老鼠在10*10的迷宫中。迷宫中的每个方格可以是空的,或者含有障碍。猫和老鼠可以进入任意一个空的方格中。当他们相遇时,猫和老鼠在同一个方格中。但是,无论猫或老鼠都不能进入有障碍的方格。我们可以用字符组成的二维数组表示迷宫,如下图所示。 老鼠在迷宫中按照一种固定的方式行走:每个时刻,老鼠都向它所面对的方向前进一格,这需要花费1秒时间。如果前方是一个障碍或者是迷宫的边界,它将花1
q3498233
·
2009-07-31 20:00
FOJ
1408 位图
此题还是BFS的思想。对每个为1的点进行BFS.若BFS的值小于原来的,则进行替换。这种题目注意格式问题了。。。不要多个空格。。。。 #include#includeusingnamespacestd;#defineX200#defineY200structPoint_Struct{intx;inty;intflag;};intBitMap[X+2][Y+2];voidBFS(intx,inty)
cclsoft
·
2009-07-29 22:00
struct
FOJ
1205 小鼠迷宫问题
此题利用的是图的广度优先遍历的思想。先找出最短路径。然后再从终点递归回朔求解。 其实此递归过程可以写成栈,会更加节省时间。 下面是我的代码。。。。。 #include#include#includeusingnamespacestd;#defineX100#defineY100#defineDISABLE_SIGN-1#defineMOUSEONE_SIGN-2#defineMOUSETWO_SI
cclsoft
·
2009-07-29 20:00
struct
FOJ
1068 An Interesting Set
还是题意的理解。最开始以为set集里面最大的值是500;一直错。。后来才发现是set里面的元素个数最多为500....差了很多。。。。 方法是用打表的方法。由于1-9必符合条件。所以先添加到表中,由于10=5*2也是,也添加到表中。11肯定不是了,那么就从12开始。先判断i是否是表中已经有的元素*2,如果是,直接加入表中。如果不是,再进行判断,是否各位数的和和各位数的乘积是否相等。如果相等,也添加
cclsoft
·
2009-07-27 11:00
c
ini
FOJ
1589 自动机
这题主要考的是队列的应用。。。嘿嘿,我偷懒了,用了STL的deque为什么不用queue呢??因为经过查找发现queue没有清空队列的成员函数。。不符合题目的要求。。。 代码就简单了。。 #include#includeusingnamespacestd;intmain(){intm,n;charcommand[10];intid,val;inti;dequet_deq[10001];while(
cclsoft
·
2009-07-24 01:00
command
FOJ
1042 Ackermann Function
最后自己得出的结论,双递归的深度不能超过3.否则层数将会以难以想象的速度趋向正无穷大!! 这题Ackerman函数是经典的一个双递归函数。这题其实主要目的就是要让我们了解双递归函数的执行过程。但是我们的代码当中并没有用到递归函数,这是为什么呢??因为根据推倒可以得出,当m=1的时候可以推导出2+n当m=2的时候可以推导出3+n*2当m=3的时候可以推导出sum=13; for(i=1;i#in
cclsoft
·
2009-07-23 19:00
FOJ
1067 Running Length Code
很简单的一个问题,但是由于最开始题目看不懂。。。。弄了好久。。就是要让你统计连续01的个数,然后和它的值(比如0,值就为0,1,值就为1)组成一个byte也就是比如0000000那么存在有7个0,组成的byte值就是00000111又比如11组成的byte值就是10000010化成10进制就是所得的数。还要注意Supposethatthelengthofanycontinuouspartinabi
cclsoft
·
2009-07-23 08:00
String
less
ini
byte
FOJ
1157 Crazy Tea Party
等差数列求和的公式忘记了。、、、、无语吧。。。算了,小数让计算机来算。。回家复习一下。。。 思路:假设123456 若不构成环,就需要变成654321则根据冒泡法排序可以计算出次数为(n*(n-1)+1)/2也就是5+4+3+2+1如果构成环,则最终应该变为321654这样所需的次数最少那么冒泡排序的次数就是((n/2*(n/2-1)+1)/2)*2也就是(2+1)*2如果n为奇数另外考虑。 #
cclsoft
·
2009-07-22 21:00
FOJ
1082 最大黑区域
这题做的都要哭出来了。。。。。早上跑跑卡丁车的题目做了几遍都没过。。。。没有比那个题目再简单的了。回去重新写遍代码就AC....后来看论坛上面大牛指点,原来是数组开的不够大。。。郁闷,竟然没有RuntimeERROR.... 这题原来用一种很挫的方法做。。。后来发现考虑不够全面。。。。想到连续的1区域其实可以看做联通图。然后用图的深度优先遍历就可以解决问题。。。 但是之前没有写过深度优先遍历的题目
cclsoft
·
2009-07-22 16:00
FOJ
1685 跑跑卡丁车
水都不能一次过,非常非常的郁闷。。。回来重写一遍代码就过了。。。什么人品这是。。。。排序,相除。 #include#includeusingnamespacestd;boolv_sort(inta,intb){returna>b;}intmain(){intm,n;intspeed[1002];inttime[1002];while(scanf("%d%d",&m,&n)!=EOF){memset
cclsoft
·
2009-07-22 12:00
ini
float
FOJ
1411 最长配对子串
还是使用栈,如果存在不匹配的括号,那么这些括号最后都会剩余在栈中。只要在压入栈的同时,带入这个符号在字符串的位置。这样我们最后就可以根据栈中剩余的符号,来分割原来的字符串,并且也很容易取到最长的匹配。 本程序一次性AC,真的是没有想到。。。写代码前理清思路,规范代码真的很重要。。很搓的代码一般是不容易通过的。。要是通过了,说明你人品不错。连续通过3题。你就可以考虑去买彩票了。。。股票也行。。。必有
cclsoft
·
2009-07-22 00:00
c
FOJ
1402 猪的安家
这道题目的基本思想就是必须求前n-1个数的最大公约数。 比如这边为了方便大家理解,给出一组测试数据。 3315172101 这组数据的最终结果是121下面我们就来分析一下。 定义一个函数gongbeishu()求前n-1项的最小公倍数。首先,我们定义变量gbs表示前n-1个数的最小公倍数。定义sum来表示程序运行中猪的头数。初始化sum=3+1gbs=3处理第二组数据后sum=gbs+gbs+gb
cclsoft
·
2009-07-21 20:00
测试
FOJ
1481 环串
这题原来想的太复杂了。。。。其实用暴力很容易解决。。原来想用kmp比较。。可是比较来比较去,判断的条件就是不符合。。。搞的郁闷一个早上。。。 以后象字符串环的基本都可以用扩展的方法来做了。 #include#includeintmain(){charstr0[201];charstr0_ex[603];charstr1[201];charstr1_ex[402];intn,i;intcount;w
cclsoft
·
2009-07-21 20:00
null
ini
扩展
FOJ
1476 矩形的个数
数学题,要注意精度问题!OJ支持到longlong#includeintmain(){longn,m;longi,j;longlongsum;while(scanf("%ld%ld",&m,&n)!=EOF){sum=0;for(i=1;i<=m;i++)for(j=1;j<=n;j++)sum+=((longlong)i*(longlong)j);printf("%lld/n",sum);}re
cclsoft
·
2009-07-21 16:00
FOJ
1076 穿越沙漠
逆向思考。但是最后路程会多出来,必须减去多出来的那部分。 #includeintmain(){intn,k;doubledist;doubleorl;inti,j;while(scanf("%d",&k)!=EOF){for(j=0;j0){dist-=500.0/(i*2+1);i++;//printf("%f%d/n",dist,i-1);}orl=500*i+dist*(i*2-1);pri
cclsoft
·
2009-07-21 11:00
FOJ
1002 HangOver
纯粹的精度题。用了点偷鸡的方法,嘿嘿。。 #includeintmain(){doublei,j;doublelength;floatinp;doublearr[299];intk;for(j=2.0;j1.0;i=i-1.0)length+=1.0/i;arr[(int)j-2]=length;//printf("%.0f%.8f/n",j-1,length);}while(scanf("%f"
cclsoft
·
2009-07-21 11:00
float
FOJ
1207 半数集问题
思想为递归的思想。注意半数集不是多重集。集合中已经有的元素不再添加到集合中。 必须注意重复问题!由于01230和30->230->1230相同。或者60-(添加24)>2460-(添加1)>12460和60-(添加4)>460-(添加2)>2460-(添加1)>12460在一位数y=x%10的半数集中已经产生。这样就必须剔除重复的元素。那么判断的条件就是i>10&&(i/10#includelon
cclsoft
·
2009-07-20 19:00
FOJ
1004 Number Triangle
思路就是从上加到下。求最后一排数的最大值。 貌似还可以用DP来做。。。不过那东西还不会。。。继续学习。。 #include#includeintmain(){intsjx[1001][1001];inti,j,n,pos;intmax;inta,b;while(scanf("%d",&n)!=EOF){memset(sjx,0,sizeof(sjx));for(i=1;ib)sjx[i][j]=a
cclsoft
·
2009-07-20 18:00
FOJ
的一个跨站~~orz~~~
http://acm.fzu.edu.cn/user.php?name=xiaoc 不过RecentRanklist这个页面不存在问题。
cclsoft
·
2009-07-20 12:00
FOJ
1551 猪猪玩牌
其实只要统计被借牌后不足平均数的牌堆就可以了。这里是重头开始借牌的。还是水题。。水题都水不过别人。。。 #includeintmain(){intarr[101];intn;intsum,i,avg,r;intcount;while(scanf("%d",&n)!=EOF){sum=0;count=0;for(i=0;i0){count++;r=r+arr[i]-avg;}elseif(r==0)
cclsoft
·
2009-07-20 11:00
ini
FOJ
1706 括号表达式
又是很挫的代码,很水的题目。。。看来我只能做水题了。。。。具体思想是用栈来实现。 注意最后如果括号不匹配,必定是)(的形式。知道下面该怎么做了吧。。。 #includeintmain(){charstr[10001];charstack[10001];intp1,p2,p3,p4;charpp3[10001];charpp4[10001];while(scanf("%s",str)!=EOF){p
cclsoft
·
2009-07-20 09:00
FOJ
1557 Tennis Score Board
不多说了,又是一水题。下午Time那题过不了,真是郁闷。。那么搓的代码能过才怪。。。。 这题主要是程序流程要写清楚了。。其他没什么需要注意的。#include#includeintmain(intargc,char*argv[]){intn,m,i,j;intflag_a,flag_b,status;intscore_a,score_b;charnameA[40];charnameB[40];ch
cclsoft
·
2009-07-19 19:00
FOJ
1024 Simple Computer
搞了一个早上,代码有点搓。。。。由于判断while退出的条件是HLT,而我却画蛇添足加了个PC>32的条件。导致了几次的WrongAnswer 其实题目很简单,就是实现一些简单的运算罢了,主要还是对题目的理解。 下面是指令的翻译 000xxxxx STAx 把运算器的值存入内存xstorethevalueoftheaccuintomemorybytex001xxxxx LDAx 从内存地址
cclsoft
·
2009-07-19 11:00
c
byte
X86
FOJ
1550 猪的分数
本题的主要思想是求最大公约数,如果为一,则求出分数的值后sort.由于自己不懂怎么求最大公约数>_#include#includeusingnamespacestd;structnum{charchu[10];doubleresult;};boolmy_sort(numa,numb){returna.resultt_vec;intn,i,j;numnnn;vector::iteratorit;wh
cclsoft
·
2009-07-18 21:00
c
iterator
FOJ
1548 猪数
思想很简单,相信看代码就能明白。核心就是进制的转换和字符串的处理。 #include#includevoidconv(intm,intn,charret[]){intk,l,i;intarr[50];intcount;count=0;k=m;while(1){l=k%n;if(k==0)break;if(l>=10)arr[count]='A'+l-10;elsearr[count]=l+'0';
cclsoft
·
2009-07-18 20:00
FOJ
1019 猫捉老鼠
郁闷的半死!一个输入问题,导致了一直的WA!!!原来输入是用if(scanf("%c",c),c=='/n') scanf("%c",c);这样在处理多组数据的时候会出现问题。后来改为while(scanf("%c",&c),c=='/n') ;抱着试试看的态度submit....妈的!AC了。。。。看来以后要注意了。 算法很简单。。判断是否能抓到老鼠是用暴力方法判断的。懒得写具体方法
cclsoft
·
2009-07-18 17:00
c
算法
FOJ
1350 Very Simple Problem
本题的思想是1.输入完毕一组专家的数据后。将他们排序,就知道最大和最小值。2.把最大值在标记数组中把该题目标记为-1,最小值把该题目(不为-1)的++循环以上步骤直到所有专家数据读入完毕。3.处理标记数组,判断各个题目的标记值,若大于等于专家数目除以2,则输出。另外需要注意格式问题,此题容易出现格式错误。 代码如下。#include#include#include#includeusingname
cclsoft
·
2009-07-18 11:00
ini
FOJ
1558 Software Bugs
主要思想还是使用栈来实现。因为有""的特殊情况,所以要设置一个falg来注明。代码如下。#include#include#includeusingnamespacestd;intmain(){charstr[120];charstack[120];intlen,i,fenhao,j;boolflag;while(cin.getline(str,120)){flag=false;len=strlen
cclsoft
·
2009-07-18 09:00
bugs
FOJ
1011使用非KMP算法AC!!
后来发现。。此法只能用于本类型的题目.对于其他的模式匹配的题目无法正确找出。 网络上面都说用KMP算法。。。我承认我非主流了。。。 之前因为没有递归一下从而导致faaaffaaaf错误。 提供一组测试数据asasasasadadaaaaafaaaffaaafa.结果41421 #include#includeintmy_strncmp(char*b,char*e,intnum,intlen){in
cclsoft
·
2009-07-17 21:00
算法
网络
测试
TDBEdit(Sender);
var
FOJ
:TDBEdit; QCBZ,QCBZ_,ShJ:Double;begin
FOJ
.Font.Color:=clBlack; QCBZ:=StrToFloat(QCBZh.Field.Value
winstonbonaparte
·
2009-04-27 08:00
神奇的matrix运算
很早的时候就下了一个课件,不过一直没有看,因为不知道什么地方可以用(没看当然不知道了)前几天做了
FOJ
的月赛,有一道递推的题赛后问了纪哥知道是矩阵的题目补习了一下,看了那个资料发现原来这么简单,推推题原来都可以这样做
A Crazy Man
·
2009-03-03 14:00
FOJ
1675 The Seventy-seven Problem
TheSeventy-sevenProblemTimeLimit:2sMemorylimit:32MAcceptedSubmit:20TotalSubmit:36Oneday,daxiawritesabignumberNthatcanbedividedbyseventy-sevenonthepaper.Butoaieiiscareless;hespiltsomeinkonthenumber,sot
tao_tao_bu_jue
·
2008-12-23 17:00
c
算法
Integer
input
each
output
FOJ
月赛-2008年12月 题解
Addr:http://acm.fzu.edu.cn/list.php?volume=71672~1679AMinimumAdjacentValue题目的意思很简单,就是给一群数,叫你求出其中不同的2个数的差的绝对值的最小值.不过由于一开始题目的描述出了点问题,sample出现了很可怕的错误,所以一开始AC率非常低,改完题目以后被无数人秒掉了这题的考点是排序.级别:水题Btypedeflonglo
tao_tao_bu_jue
·
2008-12-22 14:00
FOJ
1402
FOJ
1402AckermannFunctionTimeLimit:5sMemorylimit:32MAcceptedSubmit:231TotalSubmit:658Asisknown,Ackermannfunctionplaysanimportantroleinthesphereoftheoreticalcomputerscience.However
一片小天空
·
2008-11-22 21:00
FOJ
1582 众数问题
众数问题TimeLimit:1sMemorylimit:32MAcceptedSubmit:226TotalSubmit:926给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数为3。数据输入输入包括多组数据,请处理到EOF结束。每组数据,以一个n(1#include using
tao_tao_bu_jue
·
2008-10-26 09:00
FOJ
1561 Come Home, Baby!
dijkstra的表形式节点大的时候使用#include using namespace std;#define N 1000#define inf 100000000struct Eage{ int a,b,len;}e[4*N];int d[N],pre[N],n,t;bool v[N];void dijkstra(){ int i,j,k; for(i=0;i
tao_tao_bu_jue
·
2008-10-22 21:00
FOJ
1599 Cow Travelling
一开始土土dfs,不是WA就是TLE.....最后发现原来可以回头走的-_______________-那确实没做过够麻烦想了好久......最后竟然发现开始点居然被我标记了....取消标记后一次AC的说...dp[100][100][16]中dp[x][y][t]用来保存(x,y)点在剩余时间还为t时到达终点的方案数.然后就是土土的dfs....-__________-学习到不少的说,还学到一个
tao_tao_bu_jue
·
2008-08-21 19:00
上一页
1
2
3
4
5
6
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他