ACM
文章平均质量分 73
iamsile
这个作者很懒,什么都没留下…
展开
-
String Problem-kmp+最小表示法
#include using namespace std;char a[1000010];int nex[1000010];void nexts(){ int i=0,j=-1,k=strlen(a); nex[0]=-1; while (i if (j==-1||a[i]==a[j]) {原创 2013-11-28 19:51:23 · 577 阅读 · 0 评论 -
The shortest path-dp+tsp
#include #include using namespace std;#define inf 0x7fffffffstruct node { double x,y;};double map[220][220],dp[220][220];double cal(node a,node b){ double x=a.x-b原创 2013-11-28 19:52:40 · 677 阅读 · 0 评论 -
Missing Numbers-位运算
#include #include #include int main() { __int64 i,n,num,n1,n2,j,s1,s2,max; char ch; while(1) { scanf("%I64d",&n); if(n==0) break; s1=0;原创 2013-11-28 19:45:55 · 895 阅读 · 0 评论 -
find the longest of the shortest-spfa删边
#include #include using namespace std;const int inf=0x2fffffff;#define N 1005struct node { int v,w,next; node() { v=w=next=0; }}e[N*N];int n,m,cnt,dis原创 2013-11-28 19:38:45 · 527 阅读 · 0 评论 -
机器人M号
#include using namespace std;int qmod(int a,int k){ if (k==1) return a%10000; int t=qmod(a, k/2); t=t*t%10000; if (k%2) t=t*a%10000; return t;}原创 2013-11-13 20:31:43 · 1052 阅读 · 0 评论 -
岛上的植物
#include #include using namespace std;int lenp,leno,map[101][101],v[101][101];int n,dx[4]={-1,0,1,0},dy[4]={0,1,0,-1},ap[1000];bool cal(int m){ if (m==1) return 0原创 2013-11-13 20:24:39 · 815 阅读 · 0 评论 -
xor
#include int main(){ int n; while (scanf("%d",&n)!=EOF) { __int64 i,j,a[100010],sum1[21],ans=0; memset(a, 0, sizeof(a)); memset(sum1, 0, sizeof(sum1));原创 2013-11-13 20:23:35 · 725 阅读 · 0 评论 -
哥德巴赫猜想
#include #include unsigned i,j,k,n,r;bool a[16777216];void prime(){ for (i=3; i a[i]=1; for(i=3;i if (a[i]) for (j=i*i; j a[j]=0;}原创 2013-11-13 20:30:29 · 992 阅读 · 0 评论 -
Is- dp求正则表达式
#include using namespace std;int main(){ char a[101],b[101]; int n; scanf("%s",a); scanf("%d",&n); while (n--) { scanf("%s",b); int i,j,k,l1=strl原创 2013-11-23 19:29:10 · 622 阅读 · 0 评论 -
位图
#include #include using namespace::std;int main(){ int i,j,x,y,k,flag=1,b[182][182]={0}; char a[182][182]; scanf("%d%d",&x,&y); for(i=0;i for(j=0;j原创 2013-11-23 13:14:51 · 721 阅读 · 0 评论 -
Cleaning Robot-dfs+bfs+tsp
#include #include using namespace std;struct node { int x,y,step; node() { x=y=step=0; }};int n,m,len,ans,dx[4]={-1,0,1,0},dy[4]={0,1,0,-1},d[30][30];ch原创 2013-11-28 19:37:24 · 792 阅读 · 0 评论 -
How many ways-dp
#include using namespace std;int n,m,a[101][101],dp[101][101];int main(){ int t; scanf("%d",&t); while (t--) { int i,j,i1,j1; scanf("%d%d",&n,&m);原创 2013-11-28 19:41:25 · 510 阅读 · 0 评论 -
Longge's problem-数论
#include #include #include using namespace std;__int64 cal(__int64 m){__int64 i=m,k=sqrt(m),flag=m;for(i=2;iif(m%i==0)flag=flag/i*(i-1);while(m%i==0)m/=i;}if(m!=1)fla原创 2013-11-28 19:44:16 · 563 阅读 · 0 评论 -
Number Transformation-bfs+素数筛选法
#include #include using namespace std;struct node { int v,cnt; node() { v=0;cnt=0; }};int n,m,pri[1005],v[1005];int bfs(int s){ memset(v, 0, size原创 2013-11-28 19:48:12 · 617 阅读 · 0 评论 -
Glass Beads-最小表示法
#include #include #include using namespace std;int mins(char s[]){ int i=0,j=1,t,k=0,len=strlen(s); while (i t=s[(i+k)%len]-s[(j+k)%len]; if (!t)原创 2013-11-28 19:39:46 · 649 阅读 · 0 评论 -
Sorting by Swapping
#include using namespace::std;int main(){int m,n,i,lab,a[10000]={0},b[10000]={0};cin >> m;while(m--){cin >> n;for(i=1;i{cin >> a[i];b[a[i]]=i;}lab=0;for(i=1;i{i原创 2013-11-28 19:50:40 · 889 阅读 · 0 评论 -
Normalized Form-二叉树
#include #include using namespace std;char a[34000];bool cal(int &i,int m){ int n=m; for (++i; a[i]; i++) { if (a[i]=='(') { if (m) n&=cal(i,原创 2013-11-28 19:47:28 · 1047 阅读 · 0 评论 -
Intervals-bellman-ford+差分约束
#include using namespace std;const int inf=0x2fffffff;struct node { int s,t,w;}edge[50010];int main(){ int n; while (~scanf("%d",&n)) { int i,j,flag,x=i原创 2013-11-28 19:43:21 · 558 阅读 · 0 评论 -
How many-字典树+最小表示法
#include using namespace std;struct node { node *next[2]; node(){ next[0]=next[1]=NULL; }};char str[10010][110];int mins(char a[]){ int i=0,j原创 2013-11-28 19:42:02 · 608 阅读 · 0 评论 -
Hidden Password-最小表示法
#include using namespace std;int mins(char s[],int len){ int i=0,j=1,k=0,t; while (i t=s[(i+k)%len]-s[(j+k)%len]; if (!t) k++; else {原创 2013-11-28 19:40:39 · 523 阅读 · 0 评论 -
Smallest Difference-模拟
#include using namespace std;int main(){ int t; scanf("%d\n",&t); while (t--) { char a[20]; gets(a); int i,j,flag=15,len=0,k=strlen(a),b[20]={0},m原创 2013-11-28 19:49:46 · 744 阅读 · 0 评论 -
MatrixPowers-矩阵连乘
#include using namespace std;#define N 105#define FF(i,n) for(i=0;iint ans[N][N];int init[N][N];int buf[N][N];void matrixMul(int a[][N],int b[][N],int n,int mod){int i,j,k;FF(i,n)FF(原创 2013-11-28 19:44:58 · 651 阅读 · 0 评论 -
Compromise-dp加标记路径
#include #include #include using namespace std;int dp[110][110],mark[110][110],loc[110],cnt;char a[110][40],b[110][40];void print(int i, int j){ if (i==0||j==0) retur原创 2013-11-23 13:19:03 · 599 阅读 · 0 评论 -
一个人的旅行--spfa
#include #include using namespace std;const int inf=0x3fffffff;int map[1010][1010],dis[1010],v[1010];int main(){ int n,m,k; while (~scanf("%d%d%d",&n,&m,&k)) { int原创 2013-11-23 13:16:17 · 622 阅读 · 0 评论 -
梁山好汉排座次
#include #include using namespace std;int main(){ int n,r[200];//r表示每个点的入度 string name,s[200]; bool a[200][200],vis[200];//a邻接矩阵,vis在排序时纪录这个点是否已经确定顺序 while (cin >> n&原创 2013-11-23 13:14:02 · 2984 阅读 · 0 评论 -
素数槽
#include #include using namespace::std;unsigned int a[1299710];int main(){unsigned int m,i,j;cin >> m;for(i=1;ia[i]=1;for(i=2;iif(a[i])for(j=i;i*ja[j*i]=0;while(m--)原创 2013-08-09 22:24:23 · 803 阅读 · 0 评论 -
clock captcha
#include #include const intDOT_COLUMN=14;int cols[4]={0,7,17,24};char screen[7][31];char digits[10][7][6]={ {"+---+", "| |",原创 2013-08-09 22:48:48 · 537 阅读 · 0 评论 -
找最大的正方形
#include using namespace std; int main(){ int i,j,k,n,t,lab;int x[501],y[501],s[501];char a[501][501];memset(a,0,sizeof(a)); cin >> n>> t; for(k=0;k{ cin >> i原创 2013-08-09 22:43:49 · 1023 阅读 · 0 评论 -
the euler function
#include using namespace std;#define N 3000005int phi[N+10];int main(){ int i,j,n,m; for (i=1; i phi[i]=(i&1)?i:i/2; for (i=3; i if (phi[i]==i)原创 2013-08-09 22:42:30 · 598 阅读 · 0 评论 -
FBI树
#include #include using namespace std;char a[1100];void create(int l,int r){ int b=0,i=0,j,mid=(l+r)/2; if (l!=r) { create(l, mid); create(mid+1, r); }原创 2013-08-09 22:36:23 · 531 阅读 · 0 评论 -
adjacent difference
#include using namespace::std;int main(){int m,n,i,l=1,a[1001]={0},b[1001]={0};cin >> m;while(m--){cin >> n;for(i=1;icin >> a[i];for(i=1;ib[i]=a[i]-a[i-1];sort(b+1,b+n+原创 2013-08-09 22:34:15 · 752 阅读 · 0 评论 -
另类杀人游戏
#include using namespace::std;int main(){int k;cin >> k;while(k--){int n,m,s,num,i=0,j,ans=1,start,a[10001]={0};cin >> n >> m >> s;s--;num=n;start=n-s;start%=n;while(原创 2013-08-09 22:23:39 · 1507 阅读 · 1 评论 -
检查金币
#includeusing namespace::std;int main(){ int n; while(cin >> n&&n) { int i,q=n-265716; for(i=0;iprintf("%d ",9+q%3); printf("%d\n",9+q%3);原创 2013-08-09 22:23:04 · 825 阅读 · 0 评论 -
八阵图
#include #include using namespace::std;int main(){int t;cin >> t;while(t--){double a,b,n,m,w,p1,p2,i,dl,dd,sum1=0,sum2=0,e=0;cin >> n;for(i=0;i{cin >> a;sum1+=a;}原创 2013-08-09 22:22:15 · 1450 阅读 · 0 评论 -
判断点的位置
#include #include using namespace::std;int main(){int i,j,l,k,lab;char a[1001]={0};float b[1001]={0},c[1001]={0},d[1001]={0},e[1001]={0},x[1001]={0},y[1001]={0};l=0;while(cin >原创 2013-08-09 22:28:28 · 902 阅读 · 0 评论 -
what time is it?
#include #include char number[23][11]={"zero","one","two","three","four","five","six","seven","eight","nine", "ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","sevent原创 2013-08-09 22:45:54 · 888 阅读 · 0 评论 -
Pi
#include #include #include using namespace::std;int cal(int a,int b){if(b==0)return a;else return cal(b,a%b);}int main(){int n;while(cin >> n&&n){int i,j,a[52]={0原创 2013-08-09 22:25:52 · 532 阅读 · 0 评论 -
合并果子
#include #include using namespace std;typedef struct node{ int data; friend bool operator { return a.data > b.data; } }Point;int main(){原创 2013-11-23 13:12:34 · 660 阅读 · 0 评论 -
比武大会
#include using namespace std;int mark[300];typedef struct { int l,r,v,cnt;}node;node a[300],b[300];int cmp(node x,node y) { return x.v}int main() {原创 2013-11-23 13:11:19 · 1141 阅读 · 0 评论 -
Faculty Dividing Powers--数论
#include #include using namespace std;#define N 1200005#define inf ~0U>>1#define LL __int64int a[6000000],p[N];LL cal(LL n,LL k){ LL sum=0; while(n>=1) {原创 2013-11-16 22:57:01 · 701 阅读 · 0 评论