您的位置:首页 > 其它

Codeforces Round #140 (Div. 2)

2014-04-08 13:07 405 查看
A. Where do I Turn?

#include <iostream>

using namespace std;
struct point
{
long long x,y;
}p[3];
long long chaji(point a,point b,point c)
{
return (c.x-a.x)*(b.y-a.y)-(b.x-a.x)*(c.y-a.y);
}
int main()
{
int i;
for(i=0;i<3;i++) cin>>p[i].x>>p[i].y;
if((p[2].y-p[1].y)*(p[1].x-p[0].x)==(p[1].y-p[0].y)*(p[2].x-p[1].x))
cout<<"TOWARDS"<<endl;
else if(chaji(p[2],p[1],p[0])>0)
cout<<"LEFT"<<endl;
else
cout<<"RIGHT"<<endl;
return 0;
}


B.
Effective Approach

#include <iostream>

using namespace std;

int main()
{
long long n,m,x,i,ans1,ans2;
int data[100005],inp[100005];
cin>>n;
for(i=1;i<=n;i++)
{
cin>>data[i];inp[data[i]]=i;
}
cin>>m;
for(i=1;i<=m;i++)
{
cin>>x;
ans1+=inp[x];
ans2+=(n-inp[x]+1);
}
cout<<ans1<<" "<<ans2<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: