L2-012. 关于堆的判断
题目链接:
终于ac了,简直要哭。题目还是很简单的,不过很多坑:
1.寻找x下标时,有可能返回0,即x是根结点;
2.字符串中字符的位置有可能会因串中的数字长度大小改变而改变(QAQ找了一个小时才发现是在这里);
3.gets(函数)会读取前一个分隔符(是我基础不好╮(╯▽╰)╭).
代码如下:
#include#include using namespace std;int a[1005];int location(int key){ int k=0; while(a[k]!=key)k++; return k;}int transint(char s[]){ if(s[0]=='-'){ int temp=0; for(int i=1;s[i]!=' '&&s[i]!='\0';i++) temp=temp*10+s[i]-'0'; return -temp; }else{ int temp=0; for(int i=0;s[i]!=' '&&s[i]!='\0';i++) temp=temp*10+s[i]-'0'; return temp; }}int main(void){ int n,m; scanf("%d%d",&n,&m); for(int i=0;i