筷子作战
一开始我并没有思路,后来询问了一些同学,查找了资料有了思路。
首先肯定要把所有的筷子长度输入到一个数组里,然后可以把数组从小到大排个序,然后相邻的相比较,找出不同的那一支就可以了。所以就有以下实现:
#include<iostream> #include<algorithm> using namespace std; int main(){ int n; cin>>n; int *p = new int [n]; for(int i = 0;i<n;i++){ cin>>p[i]; } sort(p,p+n); for(int i = 0;i<n;i += 2){ if(p[i]!=p[i+1]){ cout<<p[i]<<endl; break; } } return 0; }
还有另一种使用异或的方式:可参考https://blog.csdn.net/zhanghexuan2013/article/details/136522436