G - Bear and Friendship Condition

2023-10-08 20:50
文章标签 condition bear friendship

本文主要是介绍G - Bear and Friendship Condition,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
在这里插入图片描述
题意:朋友的朋友必须也是朋友才行。

解题思路: 若 i号与 j号 是朋友
i号的朋友数必须和j的朋友数必须相同
i的朋友编号和加上自己的编号 等于 j的朋友的编号和加上自己的编号

//是朋友连线数量必须相同
#include<stdio.h>
#include<string.h>
int sta[150005];
int z[150005];
struct node
{int f;int t;} V[150005];
int main ()
{int n, m, i, j;scanf("%d %d", &n, &m);for(i = 1;i <= n;i++){z[i] = i;}for(i = 0; i < m; i++){scanf("%d %d", &V[i].f, &V[i].t);sta[V[i].f]++;sta[V[i].t]++;z[V[i].f]+=V[i].t;z[V[i].t]+=V[i].f;}int flag = 1;for(j = 0; j < m&&flag; j++){if(sta[V[j].f] == sta[V[j].t]&&z[V[j].f]== z[V[j].t])continue;else flag = 0;}if(flag == 1)printf("YES");else printf("NO");return 0;
}

这篇关于G - Bear and Friendship Condition的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/167906

相关文章

【Spring Boot】 SpringBoot自动装配-Condition

目录 一、前言二、 定义2.1 @Conditional2.2 Condition2.2.1 ConditionContext 三、 使用说明3.1 创建项目3.1.1 导入依赖3.1.2 添加配置信息3.1.3 创建User类3.1.4 创建条件实现类3.1.5 修改启动类 3.2 测试3.2.1 当user.enable=false3.2.2 当user.enable=true 3.3

Java并发:互斥锁,读写锁,Condition,StampedLock

3,Lock与Condition 3.1,互斥锁 3.1.1,可重入锁 锁的可重入性(Reentrant Locking)是指在同一个线程中,已经获取锁的线程可以再次获取该锁而不会导致死锁。这种特性允许线程在持有锁的情况下,可以递归地调用自身的同步方法或代码块,而不会因为再次尝试获取相同的锁而被阻塞。显然,通常的锁都要设计成可重入的。否则就会发生死锁。 synchronized关键字,就是

【硬刚Java并发】JUC基础(七):Condition 控制线程通信

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的Java并发部分补充。 Condition Condition 接口描述了可能会与锁有关联的条件变量。这些变量在用法上与使用 Object.wait 访问的隐式监视器类似,但提供了更强大的功能。需要特别指出的是,单个 Lock 可能与多个 Condition 对象关联。为了避免兼容性问题,Condition 方法的

java线程 yield,sleep,join,synchronized wait notify notifyAll,ReentrantLock lock condition, 生产者消费者

yield,sleep,join yield,join,sleep,join是Thread中的方法,不需要 在synchronized 代码块中调用,和synchronized 没关系,也不会释放锁。 Thread.sleep(100);Thread.yield();Thread t;t.join(); (1)yield()不一定保证让出cpu yield()只是使当前线程重新回

Java 入门指南:Java 并发编程 —— Condition 灵活管理线程间的同步

Condition Condition 是 Java 并发编程中的一种高级同步工具,它可以协助线程之间进行等待和通信。提供了一种比传统的 wait() 和 notify() 更加灵活的方式来管理线程间的同步。Condition 接口通常与 Lock 接口一起使用,允许更细粒度的控制线程的等待和唤醒。 每个 Condition 对象都与一个 Lock 对象相关联,它可以在等待之前获取到锁,并在等

启动redis提醒WARNING overcommit_memory is set to 0!Background save may fail under low memory condition.

前言 本人在Centos7服务器上启动redis,报如下问题: WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add ‘vm.overcommit_memory = 1’ to /etc/sysctl.conf and the

Race Condition竞争条件

Race Condition Question – why was there no race condition in the first solution (where at most N – 1) buffers can be filled?Processes P0 and P1 are creating child processes using the fork() system

C++之std::condition_variable::wait_for

std::condition_variable::wait_for 是 C++11 引入的条件变量的一部分,用于在一定时间内等待通知。它是 std::condition_variable 类的成员函数之一,可以使线程在等待某条件变为真时,最多等待指定的时间段。 使用方法 在 std::condition_variable 中,wait_for 的主要形式如下: cpp template

【C语言】解决C语言报错:Race Condition

文章目录 简介什么是Race ConditionRace Condition的常见原因如何检测和调试Race Condition解决Race Condition的最佳实践详细实例解析示例1:缺乏适当的同步机制示例2:错误使用条件变量 进一步阅读和参考资料总结 简介 Race Condition(竞争条件)是C语言中常见且复杂的并发编程错误之一。它通常在多个线程或进程并