コード例 #1
0
ファイル: main.cpp プロジェクト: CCJY/coliru
int main()
{
    Graph g;
    Node node1(1), node2(2), node3(3), node4(4), node5(5), node6(6), node7(7), node8(8), node9(9);
    
    g.insert (Graph::value_type(node1, node3));
    g.insert (Graph::value_type(node1, node4));
    g.insert (Graph::value_type(node1, node5));
    g.insert (Graph::value_type(node2, node6));
    g.insert (Graph::value_type(node3, node6));
    g.insert (Graph::value_type(node4, node7));
    g.insert (Graph::value_type(node5, node7));
    g.insert (Graph::value_type(node5, node8));
    g.insert (Graph::value_type(node5, node9));
    g.insert (Graph::value_type(node9, node5));
    
    Graph::const_iterator it = g.begin();
    while (it != g.end())
    {
        std::pair<Graph::const_iterator, Graph::const_iterator> range = g.equal_range(it->first);
        
        std::cout << it->first << ": "; // print vertex
        
        for (; range.first != range.second; ++range.first)
        {
            std::cout << range.first->second << ", "; // print adjacent vertices
        }
        std::cout << std::endl;
        
        it = range.second;
    }
}
コード例 #2
0
ファイル: main.cpp プロジェクト: CCJY/coliru
int main()
{
    Graph g;
    Node node1(1), node2(2), node3(3), node4(4), node5(5), node6(6), node7(7), node8(8), node9(9);
    
    g.insert (Graph::value_type(node1, node3));
    g.insert (Graph::value_type(node1, node4));
    g.insert (Graph::value_type(node1, node5));
    g.insert (Graph::value_type(node2, node6));
    g.insert (Graph::value_type(node3, node6));
    g.insert (Graph::value_type(node4, node7));
    g.insert (Graph::value_type(node5, node7));
    g.insert (Graph::value_type(node5, node8));
    g.insert (Graph::value_type(node5, node9));
    g.insert (Graph::value_type(node9, node5));
    
    Graph::key_compare cmp = g.key_comp();
    Graph::const_iterator it = g.begin(), itEnd = g.end(), prev;
    while (it != itEnd)
    {
        std::cout << it->first << ": "; // print vertex
        
        do
        {
            std::cout << it->second << ", "; // print adjacent vertices
            prev = it++;
        }        
        while (it != itEnd && !cmp(prev->first, it->first) && !cmp(it->first, prev->first));
        
        std::cout << std::endl;
    }
}
コード例 #3
0
ファイル: 124.cpp プロジェクト: shawnone/cppinterview
TEST(L124, normal)
{
	std::shared_ptr<TreeNode> node1(new TreeNode(1));
    std::shared_ptr<TreeNode> node2(new TreeNode(2));
    std::shared_ptr<TreeNode> node3(new TreeNode(3));
	
    Solution solution;
	
	ASSERT_EQ(1, solution.maxPathSum(node1.get()));
	node1->val = -3;
	ASSERT_EQ(-3, solution.maxPathSum(node1.get()));
	
	node1->val = 2;
	node2->val = -1;
	node1->left = node2.get();
	node1->right = 0;
	ASSERT_EQ(2, solution.maxPathSum(node1.get()));
	
	node1->val = -2;
	node3->val = -3;
	node1->right = node3.get();
	node1->left = 0;
	ASSERT_EQ(-2, solution.maxPathSum(node1.get()));
	
	node1->val = 2;
	node2->val = -1;
	node3->val = 2;
	node1->right = node3.get();
	node1->left = node2.get();
	ASSERT_EQ(4, solution.maxPathSum(node1.get()));
	
	node1->val = 5;
	node2->val = 4;
	node3->val = 8;
	std::shared_ptr<TreeNode> node4(new TreeNode(11));
    std::shared_ptr<TreeNode> node5(new TreeNode(13));
    std::shared_ptr<TreeNode> node6(new TreeNode(4));
	std::shared_ptr<TreeNode> node7(new TreeNode(7));
	std::shared_ptr<TreeNode> node8(new TreeNode(2));
	std::shared_ptr<TreeNode> node9(new TreeNode(5));
	std::shared_ptr<TreeNode> node10(new TreeNode(1));

	node2->left = node4.get();
	node3->left = node5.get();
	node3->right = node6.get();
	node4->left = node7.get();
	node4->right = node8.get();
	node6->left = node9.get();
	node6->right = node10.get();
	
	ASSERT_EQ(48, solution.maxPathSum(node1.get()));
}
コード例 #4
0
  void runRelationTest()
  {
    PoiPolygonAddressScoreExtractor uut;
    uut.setConfiguration(conf());
    OsmMapPtr map(new OsmMap());

    NodePtr node1(new Node(Status::Unknown1, -1, Coordinate(0.0, 0.0), 15.0));
    node1->getTags().set(TestUtils::HOUSE_NUMBER_TAG_NAME, "123");
    node1->getTags().set(TestUtils::STREET_TAG_NAME, "Main Street");
    map->addNode(node1);
    RelationPtr relation1(new Relation(Status::Unknown2, -1, 15.0));
    NodePtr node2(new Node(Status::Unknown1, -2, Coordinate(0.0, 0.0), 15.0));
    node2->getTags().set(TestUtils::HOUSE_NUMBER_TAG_NAME, "123");
    node2->getTags().set(TestUtils::STREET_TAG_NAME, "main street");
    map->addNode(node2);
    relation1->addElement("test", node2->getElementId());
    map->addRelation(relation1);
    CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, uut.extract(*map, node1, relation1), 0.0);

    NodePtr node4(new Node(Status::Unknown1, -4, Coordinate(0.0, 0.0), 15.0));
    node4->getTags().set(TestUtils::HOUSE_NUMBER_TAG_NAME, "123");
    node4->getTags().set(TestUtils::STREET_TAG_NAME, "Main Street");
    map->addNode(node4);
    RelationPtr relation3(new Relation(Status::Unknown2, -3, 15.0));
    NodePtr node5(new Node(Status::Unknown1, -5, Coordinate(0.0, 0.0), 15.0));
    node5->getTags().set(TestUtils::HOUSE_NUMBER_TAG_NAME, "567");
    node5->getTags().set(TestUtils::STREET_TAG_NAME, "first street");
    map->addNode(node5);
    relation3->addElement("test", node5->getElementId());
    map->addRelation(relation3);
    CPPUNIT_ASSERT_DOUBLES_EQUAL(0.0, uut.extract(*map, node4, relation3), 0.01);

    NodePtr node6(new Node(Status::Unknown1, -6, Coordinate(0.0, 0.0), 15.0));
    node6->getTags().set(TestUtils::HOUSE_NUMBER_TAG_NAME, "567");
    node6->getTags().set(TestUtils::STREET_TAG_NAME, "first street");
    map->addNode(node6);
    RelationPtr relation4(new Relation(Status::Unknown2, -4, 15.0));
    WayPtr way3(new Way(Status::Unknown2, -3, 15.0));
    way3->getTags().set(TestUtils::HOUSE_NUMBER_TAG_NAME, "123");
    way3->getTags().set(TestUtils::STREET_TAG_NAME, "main street");
    map->addWay(way3);
    relation4->addElement("test", way3->getElementId());
    map->addRelation(relation4);
    CPPUNIT_ASSERT_DOUBLES_EQUAL(0.0, uut.extract(*map, node6, relation4), 0.01);
  }
コード例 #5
0
ファイル: main.cpp プロジェクト: CCJY/coliru
int main()
{
    Graph g;
    Node node1(1), node2(2), node3(3), node4(4), node5(5), node6(6);
    
    g.insert (Graph::value_type(node1, node3));
    g.insert (Graph::value_type(node1, node4));
    g.insert (Graph::value_type(node1, node5));
    g.insert (Graph::value_type(node2, node6));
    g.insert (Graph::value_type(node3, node6));
    
    Graph::iterator it = g.begin();
    for (; it != g.end(); it = g.upper_bound(it->first))
    {
        std::pair<Graph::iterator, Graph::iterator> range = g.equal_range(it->first);
        std::cout << it->first << ": ";
        
        for (; range.first != range.second; ++range.first)
        {
            std::cout << range.first->second << ", ";
        }
        std::cout << std::endl;
    }
}
void main(void) 
{ 
  int c1 ;
  int i2 ;

  {
  c1 = 0;
  r1 = __VERIFIER_nondet_char();
  id1 = __VERIFIER_nondet_char();
  st1 = __VERIFIER_nondet_char();
  send1 = __VERIFIER_nondet_msg_t();
  mode1 = __VERIFIER_nondet__Bool();
  alive1 = __VERIFIER_nondet__Bool();
  id2 = __VERIFIER_nondet_char();
  st2 = __VERIFIER_nondet_char();
  send2 = __VERIFIER_nondet_msg_t();
  mode2 = __VERIFIER_nondet__Bool();
  alive2 = __VERIFIER_nondet__Bool();
  id3 = __VERIFIER_nondet_char();
  st3 = __VERIFIER_nondet_char();
  send3 = __VERIFIER_nondet_msg_t();
  mode3 = __VERIFIER_nondet__Bool();
  alive3 = __VERIFIER_nondet__Bool();
  id4 = __VERIFIER_nondet_char();
  st4 = __VERIFIER_nondet_char();
  send4 = __VERIFIER_nondet_msg_t();
  mode4 = __VERIFIER_nondet__Bool();
  alive4 = __VERIFIER_nondet__Bool();
  id5 = __VERIFIER_nondet_char();
  st5 = __VERIFIER_nondet_char();
  send5 = __VERIFIER_nondet_msg_t();
  mode5 = __VERIFIER_nondet__Bool();
  alive5 = __VERIFIER_nondet__Bool();
  id6 = __VERIFIER_nondet_char();
  st6 = __VERIFIER_nondet_char();
  send6 = __VERIFIER_nondet_msg_t();
  mode6 = __VERIFIER_nondet__Bool();
  alive6 = __VERIFIER_nondet__Bool();
  i2 = init();
  __VERIFIER_assume(i2);
  p1_old = nomsg;
  p1_new = nomsg;
  p2_old = nomsg;
  p2_new = nomsg;
  p3_old = nomsg;
  p3_new = nomsg;
  p4_old = nomsg;
  p4_new = nomsg;
  p5_old = nomsg;
  p5_new = nomsg;
  p6_old = nomsg;
  p6_new = nomsg;
  i2 = 0;
  while (1) {
    {
    node1();
    node2();
    node3();
    node4();
    node5();
    node6();
    p1_old = p1_new;
    p1_new = nomsg;
    p2_old = p2_new;
    p2_new = nomsg;
    p3_old = p3_new;
    p3_new = nomsg;
    p4_old = p4_new;
    p4_new = nomsg;
    p5_old = p5_new;
    p5_new = nomsg;
    p6_old = p6_new;
    p6_new = nomsg;
    c1 = check();
    assert(c1);
    }
  }
}
}