好吧,我承认我到瓶颈了
输入样例:
7 8 4
5 6 1
2 7 -1
1 3 1
3 4 1
6 7 -1
1 2 1
1 4 1
2 3 -1
3 4
5 7
2 3
7 2
输出样例:
No problem
OK
OK but…
No way
#include <iostream>
using namespace std;
int main()
{
int N, M, K;
cin >> N >> M >> K;
int map[101][101] = { 0 };
int i, j, k = 0;
while (k < M)
{
cin >> i >> j;
cin >> map[i][j];
map[j][i] = map[i][j];
k++;
}
k = 0;
int a, b;
while (k < K)
{
int flag = 0;
int sign = 0;
cin >> a >> b;
k++;
if (map[a][b] == 1)
cout << "No problem" << endl;
else if (map[a][b] == 0 || map[b][a] == 0)
{
for (i = 0; i <= 101; i++)
{
if ((map[a][i] == 1 || map[i][a] == 1)&&(map[i][b] == 1 || map[b][i] == 1))
{
cout << "No problem" << endl;
sign = 1;
}
}
if (!sign)
cout << "OK" << endl;
}
else if (map[a][b] == -1 || map[b][a] == -1)
{
for (i = 0; i <= 101; i++)
{
if ((map[a][i] == 1 || map[i][a] == 1)&& (map[i][b] == 1 || map[b][i] == 1))
{
flag = 1;
cout << "OK but..." << endl;
}
}
if (!flag)
cout << "No way" << endl;
}
}
return 0;
}
我的思路是
用二维数组下标表示两个人,元素表示人物关系
但是只过了两个点,听老师说需要用到图论,我还没预习,到时候再来看看这道题=w=,只能先放着了。
今天预习了了二叉树
以下是我学习的笔记,仅供参考,欢迎讨论
链接: 数据结构—二叉树
7-5 斐波那契数列 (10 分)
#include <stdio.h>
int main()
{
int sum=1,sum1=1;
int i,count=0;
for(i=1;i<=10;i++)
{
printf("%8d",sum);
count++;
if(count==5||count==15)
printf("\n");
printf("%8d",sum1);
count++;
if(count==10)
printf("\n");
sum=sum+sum1;
sum1=sum1+sum;
}
}
格式有问题恶心我好久。
7-7 计算k以内能被13或17整除的自然数之和 (15 分)
#include <stdio.h>
int main()
{
int k,i,sum=0,count=0;
scanf("%d",&k);
for(i=k;i>=1;i--)
{
if(i%13==0||i%17==0)
{
count++;
sum+=i;
}
if(count==10)
break;
}
printf("%d",sum);
}
树和图最近要看完。