目前无法ac过最后一个测试点,其余ac,原因是有无效节点存在,但这个代码加上去除无效节点函数时便会运行超时

还没想出来怎么做,先这样吧

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h> typedef struct node
{
char add[6];
int data;
char next[6];
} pnode;
typedef struct head
{
char add[6];
int k;
int m;
} phead;
int main()
{
int i = 0;
int first = 0;
int j = 0;
phead q;
scanf("%s %d %d", &q.add, &q.k, &q.m);
pnode l[q.k];
for (i = 0; i < q.k; i++)
{
scanf("%s %d %s", &l[i].add, &l[i].data, &l[i].next);
}
pnode temp;
// int flag=1;
// int qk=q.k;
// for(i=0;i<q.k-1;i++){ //去除无效节点
// flag=1;
// for(j=i+1;j<q.k;j++){
// if(l[i].add==l[j].next||l[i].next==l[j].add){
// flag=0;break;
// }
// }
// if(flag==1){
// for(int r=i;r<q.k-1;r++){
// strcpy(l[r].add,l[r+1].add);
// l[r].data=l[r+1].data;
// strcpy(l[r].next,l[r+1].add);
// }
// i=i-1;
// qk--;
// }
// }
// q.k=qk;
while (1) // 确定首字节位置
{
if (strcmp(l[first].add, q.add) != 0)
{
first++;
}
else
{
break;
}
}
temp = l[0];
l[0] = l[first];
l[first] = temp;
for (i = 0; i < q.k - 1; i++) // 按123456等排序
{
for (j = i + 1; j < q.k; j++)
{
if (strcmp(l[i].next, l[j].add) == 0)
{
temp = l[j];
l[j] = l[i + 1];
l[i + 1] = temp;
break;
}
}
}
if (q.m == 1)
{
for (i = 0; i < q.k; i++)
{
printf("%s %d %s\n", l[i].add, l[i].data, l[i].next);
} return 0;
}
pnode tail;
strcpy(tail.next, l[q.k - 1].next);
for (j = q.k / q.m; j > 0; j--)
{
for (i = (j) * (q.m) - 1; i > (j - 1) * q.m; i--)
{
strcpy(l[i].next, l[i - 1].add);
}
} int p = 0;
for (j = 0; j < q.k / q.m; j++)
{
p = 0;
for (i = j * q.m; p < q.m / 2; i++)
{ temp = l[i];
l[i] = l[(j + 1) * q.m - p - 1];
l[(j + 1) * q.m - p - 1] = temp;
p++;
}
}
for (i = q.m - 1; i < q.k-1; i = i + q.m)
{
strcpy(l[i].next, l[i + 1].add);
} strcpy(l[q.k - 1].next, tail.next);
for (i = 0; i < q.k; i++)
{
printf("%s %d %s\n", l[i].add, l[i].data, l[i].next);
} return 0;
}

最新文章

  1. LINUX测试环境部署manggo(六)
  2. ZOJ3805Machine(二叉树左右子树变换)
  3. java报表工具FineReport的SQL编辑框的语法简介
  4. POJ 2492 并查集扩展(判断同性恋问题)
  5. Java heap dump触发和分析(转)
  6. return的用处
  7. SASS组件开发
  8. 宣布在 Azure 镜像库中正式推出 Windows Server 2012 R2 并降低 Windows Azure 的实例定价
  9. 【BZOJ2127】happiness(最小割)
  10. java学习教程与笔记
  11. java体系架构
  12. nginx 根据端口不同实现负载均衡
  13. C#用log4net记录日志
  14. c# devexpress绘图 三角函数
  15. 基于Vue、Bootstrap的Tab形式的进度展示
  16. Python——XPath使用
  17. JAVA获取系统相关信息
  18. RF判断列表、字典、整数、字符串类型是否相同方法
  19. python-股票数据定向爬取
  20. ics

热门文章

  1. Blazor 部署 pdf.js 不能正确显示中文资源解决办法
  2. 搭建漏洞环境及实战——在Windows系统中安装WAMP
  3. Django(1) - 初识Django框架
  4. Flink 创始人团队二次收购案!阿里恐成冤大头!
  5. [LeetCode]对角线遍历
  6. [WPF]DataContext结果不显示
  7. 10.关于synchronized的一切,我都写在这里了
  8. 「HNOI2019」校园旅行
  9. 反射_Class对象功能_获取Constructor-反射_Class对象功能_获取Method
  10. SQLSERVER 的四个事务隔离级别到底怎么理解?